Linux学习笔记之 加密解密介绍,以及运用Openssl创建私有CA
2015-09-20 20:15
651 查看
这个是我看到的一个人的问题,没有得到很好的回答。希望大牛帮忙想想。谢过!!!
比如有两个类:
class A{
}
class B{
public static A createA();
}
类A不能直接实例化,如 A a = new A(); 禁止象上面直接实例化,
而必须通过B的方法来创建A,如: A a = B.createA();
就是说:
A a = new A(); //不允许这样直接实例化
A a = B.createA(); //只能通过B来创建A
我这样做是有用途的,
因为A是通过代码生成器生成的,生成之后,A就不能再改了,
如果要改,只能通过B来改,比如B创建A对象,并初始化A的一些属性,
也许我的思路不对,不知道大家有没有更好的解决方法?
比如我生成数据对象的增删改查方法,生成后就不能手工去改它,
只能通过代码生成器重新生成。
但如果生成的代码不满足业务,需要增加功能时,我就通过B类来扩展A的功能,
然后调用A时,必须通过B来创建A,避免不经过B的初始化就调用A.这个非常类似于工厂模式,但工厂模式通过反射,我又不想反射,反射影响效率,而且代码难写
主要是想问一下,如何实现这样的功能,A类是自动生成的,不能手工去改,如果要扩展功能,只能通过别的方式去扩展,而且外面要调用A,必须是扩展之后的A.
比如有两个类:
class A{
}
class B{
public static A createA();
}
类A不能直接实例化,如 A a = new A(); 禁止象上面直接实例化,
而必须通过B的方法来创建A,如: A a = B.createA();
就是说:
A a = new A(); //不允许这样直接实例化
A a = B.createA(); //只能通过B来创建A
我这样做是有用途的,
因为A是通过代码生成器生成的,生成之后,A就不能再改了,
如果要改,只能通过B来改,比如B创建A对象,并初始化A的一些属性,
也许我的思路不对,不知道大家有没有更好的解决方法?
比如我生成数据对象的增删改查方法,生成后就不能手工去改它,
只能通过代码生成器重新生成。
但如果生成的代码不满足业务,需要增加功能时,我就通过B类来扩展A的功能,
然后调用A时,必须通过B来创建A,避免不经过B的初始化就调用A.这个非常类似于工厂模式,但工厂模式通过反射,我又不想反射,反射影响效率,而且代码难写
主要是想问一下,如何实现这样的功能,A类是自动生成的,不能手工去改,如果要扩展功能,只能通过别的方式去扩展,而且外面要调用A,必须是扩展之后的A.
相关文章推荐
- Linux学习之进程fork()与vfork()
- 解决VMWare安装Linux Ubuntu不能正常联网的问题
- linux运维实战练习-2015年9月13日-9月15日课程作业(练习)安排
- Mitmproxy的基本使用
- linux之进程管理详解
- 也许你需要在 Antergos 与 Arch Linux 中查看印度语和梵文?
- # 弱鸡 Linux Mint 17.2安装体验
- Linux搭建SSH
- Linux service管理自定义脚本
- Win7+CentOS6双系统开机后出现grub
- Linux配置Java jdk 运行环境变量
- linux下centos安装android sdk最新全面教程【可行】
- 实验楼实验——LINUX基础入门
- Linux中的僵死进程(02)---wait回收僵死进程
- LINUX信息安全系统设计基础第一周学习总结
- Linux基础入门(新版)(实验九-实验十二)
- Linux中的僵死进程(01)---僵死进程的概念
- Linux中的孤儿进程
- 《Linux内核设计与实现》读书笔记(七)- 中断处理
- 在linux系统上编写的第一个程序