装饰模式动态的将责任附加到对象上。就增加功能来说,装饰模式比生成子类更为灵活。装饰模式在GOF95中分类为结构模式。
观察者模式,也叫订阅/发布(Publish/Subscribe)模式、源/监听器(Source/Listener)模式。该模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式在GOF95中分类为行为…
单例模式确保一个类只有一个实例,并提供一个全局访问点。单例模式的本质是控制实例的数目,因此也就有人引申出多例模式(Multiton)。
软件系统中的某些对象要求只能有一个,例如线程池、缓存、对话框、设备驱动程序对象,如果出现多个实例,可能…
策略模式将算法独立成一个类层次,允许它们之间可以相互替换,这些替换甚至可以发生在运行时。该模式让算法的变化独立于使用算法的客户。
策略模式在GOF95中分类为行为模式。
工厂模式是一个设计模式族,在GOF95中分类为创建型模式:
在满足非功能需求的前提下,尽量保持设计的简单。简单的设计有利于其它开发人员理解。
类应该对扩展开放,对修改关闭。
为了遵循开闭原则,通常需要引入新的抽象层次,从而增加代码的复杂度。因此…