http://blog.csdn.net/u013124721/article/details/55509313?locationNum=15&fps=1
http://designpatternsphp.readthedocs.io/zh_CN/latest/README.html
http://blog.csdn.net/lovelion/article/details/17517213
6个创建型模式:
简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、原型模式、建造者模式
7个结构型模式:
适配器模式、装饰模式、桥接模式、组合模式、外观模式、代理模式、享元模式
11个行为型模式:
观察者模式、策略模式、访问者模式、模板方法模式、状态模式等
单例模式:通过提供自身共享实例的访问,限定对象只能被创建一次
观察者模式:定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新
观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。
观察者模式描述了如何建立对象与对象之间的依赖关系,以及如何构造满足这种需求的系统。观察者模式包含观察目标和观察者两类对象,一个目标可以有任意数目的与之相依赖的观察者,一旦观察目标的状态发生改变,所有的观察者都将得到通知。作为对这个通知的响应,每个观察者都将监视观察目标的状态以使其状态与目标状态同步,这种交互也称为发布-订阅(Publish-Subscribe)。观察目标是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅它并接收通知。