结构型模式: 关注对象和类的组织

代理模式 为真实对象提供一个代理,从而控制对真实对象的访问
适配模式 使原本由于接口不兼容不能一起工作的类可以一起工作
桥接模式 处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联
组合模式 将对象组合成树状结构以表示”部分和整体”层次结构,使得客户可以统一的调用叶子对象和容器对象
装饰模式 动态地给一个对象添加额外的功能,比继承灵活
外观模式 为子系统提供统一的调用接口,使得子系统更加容易使用
享元模式 运用共享技术有效的实现管理大量细粒度对象,节省内存,提高效率



行为型模式:关注对象之间的相互交互

责任链模式 避免请求发送者和接收者耦合,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对象处理为止
命令模式 将一个请求封装为一个对象,从而使得请求调用者和请求接收者解耦
解释器模式 描述如何为语言定义一个文法,如何解析
迭代器模式 提供了一种方法来访问聚合对象
中介者模式 通过一个中介对象来封装一系列的对象交互,使得各对象不需要相互引用
备忘录模式 捕获一个对象的内部状态,并保存之;需要时,可以恢复到保存的状态
观察者模式 当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新
状态模式 允许一个对象在其内部状态改变时改变它的行为
策略模式 定义一系列算法,并将每个算法封装在一个类中
模板方法 定义一个操作的算法骨架,将某些易变的步骤延迟到子类中实现
访问者模式 表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下定义作用于这些元素的新操作

回到顶部