论坛首页 Java企业应用论坛

代码重构时的一个想法

浏览 5974 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-06-30  
risemanjavaeye 写道
1.把所有可能传进来的数做成单例模式,即构造哭私有化,一个 pubic static getInstance(){return this.instance;}.
2.在工厂方法里Class.forname(classname).getInstance()

interface singletonable<T>{
T getInstance(T t)
}

----------------------
泛型 这个想法不错
0 请登录后投票
   发表时间:2010-06-30  
越来越不倾向于使用这样的单例,没法mock,不利于Unit test。个人认为Spring等DI容器管理的单例比较合适。
0 请登录后投票
   发表时间: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()方法?
0 请登录后投票
   发表时间:2010-06-30  
spring的单例是通过ThreadLocal来保证线程的同步,普通的singleton有可能不提供这个功能

楼主能介绍下 你们代码重构的标准和规范吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics