创建型模式:当需要灵活的对象创建机制以避免复杂的实例化过程时使用,如单例模式确保唯一实例、工厂方法模式隐藏具体类、抽象工厂模式创建一族相关对象、建造者模式构建复杂对象、原型模式通过复制创建对象。
结构型模式:当需要简化对象间关系和提高系统结构的可维护性时使用,如适配器模式用于接口兼容、桥接模式用于解耦抽象和实现、组合模式用于表示部分-整体层次结构、装饰模式用于动态添加功能、外观模式用于简化接口、享元模式用于对象共享、代理模式用于控制访问。
行为型模式:当需要管理对象间的复杂通信和职责分配时使用,如责任链模式用于请求传递、命令模式用于请求封装、解释器模式用于语言解释、迭代器模式用于遍历对象、中介者模式用于对象通信、备忘录模式用于状态保存、观察者模式用于状态变化通知、状态模式用于行为变化、策略模式用于算法选择、模板方法模式用于算法骨架、访问者模式用于操作对象结构。
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
创建模式
主要作用:满足各种对象创建的需求
结构模式
主要作用:在不改变类中方法的情况下,给方法附加其他功能
模式区别:代码写好后,运行逻辑是固定的,不像行为模式那样,根据不同状态,运行不同的逻辑
行为模式
行为型模式涉及到算法和对象间职责的分配。
行为模式描述了对象和类的模式,以及它们之间的通信模式。
行为型模式刻划了在程序运行时难以跟踪的复杂的控制流可分为行为类模式和行为对象模式
行为模式使用继承机制在类间分派行为。
行为对象模式使用对象聚合来分配行为。
一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任何一个对象都无法单独完成的任务。