摘要: 1、Singleton模式中的实例构造器可以设置为protected以允许子类派生。2、Singleton模式一般不要支持ICIoneable接口,因为这可能会导致多个对象实例,与Singleton模式的初衷违背。3、Singleton模式一般不要支持序列号,因为这也有可能导致多个对象实例,同样与Singleton模式的初衷违背。4、Singleton模式只考虑到了对象创建的管理,没有考虑对象销毁的管理。就支持垃圾回收的平台和对象开销来讲,我们一般没有必要对其销毁进行特殊的管理。5、不能应对多线程环境:在对现场环境下,使用Singleton模式仍然有可能得到Singleton类的多个实例对象。 阅读全文
posted @ 2013-12-07 22:13 算盘 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 从目的来看:创建型(Creational)模式:负责对象创建。结构型(Structural)模式:处理类与对象间的组合。行为型(Behavioral)模式:类与对象交互中的职责分配。从范围来看:类模式处理类与子类的静态关系。对象模式处理对象间的动态关系。 阅读全文
posted @ 2013-12-07 21:51 算盘 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1、针对接口编程,而不是针对实现编程2、优先使用对象组合,而不是类继承3、封装变化点 阅读全文
posted @ 2013-12-07 21:25 算盘 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1、单一职责原则(SRP) 一个类应该仅有一个引起它变化的原因。2、开放封闭原则(OCP) 类模块应该是可扩展的,当是不可修改(对扩展开放,对更改封闭)3、Liskov替换原则(LSP) 子类必须能够替换它们的基类4、依赖倒置原则(DIP) 高层模块不应该依赖于底层模块,二者都应该依赖于抽象。 抽象不应该依赖于实现细节,实现细节应该依赖于抽象。5、接口隔离原则(ISP) 不应该强迫客户程序依赖于它们不用的方法。 阅读全文
posted @ 2013-12-07 21:20 算盘 阅读(129) 评论(0) 推荐(0) 编辑