今天看Extjs的类Observable,感到应该重新复习一下设计模式,于是在网上找到一个很好的介绍《图说设计模式》,记录在这里,方便日后查阅
这里附一张类关系图
其中的关联关系,可以带箭头,表示了解知道的意思,比如A ---->B 表示A了解B,
A <---- B 表示B了解A,如果没有箭头表示两者相互了解。
另外还有对泛化和实现的理解,之前觉得泛化是广泛化的意思,就是一个类被实例化成对象,泛化对应的英文为generalization,字面意思是归纳,笼统的说,也就是说泛化指的是父类的行为,泛泛而谈,不够清晰,明确,他的继承类会更加明确,清晰,所以泛化指的是一种继承关系,而非实例化关系。类和类之间的另一种关系叫实现,和实例化更为相像,他指的是对抽象类或者接口的实现关系,相对比较好理解。
设计模式分为三种:
1 创建型模式简单工厂、工厂方法、抽象工厂、建造者模式和单例模式
2 结构型模式适配器模式、桥接、装饰、外观、享元和代理
3 行为型模式命令模式、中介者、观察者、状态和策略模式