您的位置:首页 > 其它

静态类、单件模式的区别

2013-03-22 14:42 211 查看

静态类、单件模式的比较

1 概念上的理解

静态类是单件模式的一种特殊实现方式。

静态类更多的用于与特定实例无关的 *全局* 属性和 *全局* 方法的分类(起到命名空间的作用)。

而单件的概念是确实需要一个实例,而且实例只能有一个。比如:注册表对象,线程池对象。

2 创建的时间

静态类在编译时创建

单件模式的类在运行时创建(创建的时机在一定程度上可选)

3 扩展性

静态类不能被继承,也无法继承其他类。(如果该类需要实现一些接口,则不能使用静态类)

单件类可以被继承扩展

如需要从一个实例变为多个实例,静态类做不到。单件类可以扩展满足要求更灵活

4 总结

静态类更多地用于对全局方法、全局变量的分类组织。

单件模式表示有且仅有一个对象。单件类可以被继承,易于扩展。

当对于是否使用单件模式没把握的时候,使用单件类更好一些。
原因:静态类改成实例类,会改变接口,从而影响所有的客户代码。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: