一、目的准则
目的准则的作用是告诉我们 模式是用来完成什么样的工作的。
模式依据其目的可分为创建型、结构型、行为型。
创建型:与对象的创建相关。
结构型:处理类或对象的组合。
行为型:对类或对象怎样交互和怎样分配职责进行描述。
二、范围准则
范围准则的作用是告诉我们 指定的模式主要是作用于类还是对象。
类模式处理类和子类的关系,这些关系通过继承建立,是静态的。
对象模式则处理对象间的关系,这些关系在运行时刻是可以变化的,更具动态性。
三、模式划分
创建型
类模式:Factory Method(工厂模式)
对象模式:Abstract Factory(抽象工厂模式)、Builder(建造者模式)、Prototype(原型模式)、Singleton(单例模式)
结构型
类模式:Adapter(适配器模式)
对象模式:Adapter(适配器模式)、Bridge(桥接模式)、Composite(组合模式)、Decorator(装饰者模式)、Facade(外观模式)、Flyweigth(享元模式)、Proxy(代理模式)
行为型
类模式:Interpreter(解释器模式)、Template Method(模板方法模式)
对象模式:Chain of Responsibility(责任链模式)、Command(命令模式)、Iterator(迭代器模式)、Mediator(中介者模式)、Memento(备忘录模式)、Observer(观察者模式)、State(状态模式)、Strategy(策略模式)、Visitor(访问者模式)
四、准则说明
创建型类模式:将对象的部分创建工作延迟到子类;
创建型对象模式:将对象的部分创建工作延迟到另一个对象;
结构型类模式:使用继承机制来组合类;
结构型对象模式:描述对象之间的组装方式;
行为型类模式:使用继承描述算法和控制流;
行为型对象模式:描述一组对象怎样协作完成单个对象无法完成的任务。
五、设计模式学习感想
学习完设计模式后不要套用设计模式写程序,应根据自己的需要去选择设计模式,如不知道怎么选择,建议先写程序,后期改进时参考是否可根据设计模式进行改进,如找不到认为合适的设计模式,则不使用;
在学习设计模式的过程中我们应牢记的是设计原则,程序编写中也是;
设计模式是经验所得,最快捷的提升方式是自己敲代码,并在敲代码中运用设计原则。