静态类、单件模式的区别
2013-03-22 14:42
211 查看
静态类、单件模式的比较
1 概念上的理解
静态类是单件模式的一种特殊实现方式。静态类更多的用于与特定实例无关的 *全局* 属性和 *全局* 方法的分类(起到命名空间的作用)。
而单件的概念是确实需要一个实例,而且实例只能有一个。比如:注册表对象,线程池对象。
2 创建的时间
静态类在编译时创建单件模式的类在运行时创建(创建的时机在一定程度上可选)
3 扩展性
静态类不能被继承,也无法继承其他类。(如果该类需要实现一些接口,则不能使用静态类)单件类可以被继承扩展
如需要从一个实例变为多个实例,静态类做不到。单件类可以扩展满足要求更灵活
4 总结
静态类更多地用于对全局方法、全局变量的分类组织。单件模式表示有且仅有一个对象。单件类可以被继承,易于扩展。
当对于是否使用单件模式没把握的时候,使用单件类更好一些。
原因:静态类改成实例类,会改变接口,从而影响所有的客户代码。
相关文章推荐
- 突然感悟到了单件模式的意义(单件和静态类的区别)
- 静态方法和单件模式具体区别在哪里?
- 静态类和单例模式区别
- Java中单例模式和静态类的区别
- Java中单例模式和静态类的区别
- Java中单例模式和静态类的区别
- 静态类和单例模式区别
- 静态类和单例模式区别
- 单例模式和静态类的区别(Difference between static class and singleton pattern)
- 单例模式和静态类的区别
- 求问模式达人,静态类可否代替单件?
- Singleton(单件)模式与类静态函数(实用类)的区别
- Java中单例模式和静态类的区别
- 静态类和单例模式区别
- Singleton(单件)模式与类静态函数(实用类)的区别
- Singleton(单件)模式与类静态函数(实用类)的区别
- 静态类和单例模式区别
- Java中单例模式和静态类的区别
- Singleton(单件)模式与类静态函数(实用类)的区别
- Java中单例模式和静态类的区别