我正在合并一个 CVS 分支,较大的更改之一是用具有静态初始化块和所有静态方法的抽象类替换单例模式。
这是值得保留的东西吗,因为它需要合并很多冲突,我会在什么样的情况下考虑这种重构是值得的?
我们在 Weblogic 8.1 下运行这个应用程序(因此 JDK 1.4.2)
对不起托马斯,让我澄清一下..
HEAD 版本具有传统的单例模式(私有构造函数、getInstance() 等)
分支版本没有构造函数,是一个“公共抽象类”,并将对象上的所有方法修改为“静态”。过去存在于私有构造函数中的代码被移至静态块中。
然后该类的所有用法都被更改,这会导致合并中的多个冲突。
在一些情况下进行了这种更改。
从严格的运行时性能角度来看,差异确实可以忽略不计。两者之间的主要区别在于“静态”生命周期链接到类加载器,而对于单例来说,它是常规实例生命周期。通常最好远离 ClassLoader 业务,这样可以避免一些棘手的问题,特别是当您尝试重新加载 Web 应用程序时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)