锁定老帖子 主题:代码重构时的一个想法
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-30
risemanjavaeye 写道 1.把所有可能传进来的数做成单例模式,即构造哭私有化,一个 pubic static getInstance(){return this.instance;}.
2.在工厂方法里Class.forname(classname).getInstance() interface singletonable<T>{ T getInstance(T t) } ---------------------- 泛型 这个想法不错 |
|
返回顶楼 | |
发表时间:2010-06-30
越来越不倾向于使用这样的单例,没法mock,不利于Unit test。个人认为Spring等DI容器管理的单例比较合适。
|
|
返回顶楼 | |
发表时间:2010-06-30
risemanjavaeye 写道 1.把所有可能传进来的数做成单例模式,即构造哭私有化,一个 pubic static getInstance(){return this.instance;}.
2.在工厂方法里Class.forname(classname).getInstance() interface singletonable<T>{ T getInstance(T t) } pubic static getInstance(){return this.instance;} static方法你如何引用this?看你下面那个接口,这个static是多余的吧? 莫非是单例都要实现这个接口?那就很有意思了,没有实例的前提下,你如何调用这个getInstance? Class.forname(classname).getInstance(),这句话也有问题吧?Class.forName(className)得到的是一个Class对象,上面哪来的getInstance()方法? |
|
返回顶楼 | |
发表时间:2010-06-30
spring的单例是通过ThreadLocal来保证线程的同步,普通的singleton有可能不提供这个功能
楼主能介绍下 你们代码重构的标准和规范吗? |
|
返回顶楼 | |