文章目录

  • 总览
  • 创建型(5种)
  • 工厂方法 Factory Method
  • 抽象工厂 Abstract Factory
  • 生成器模式 Builder
  • 原型模式 Prototype
  • 单例模式 Singleton
  • 结构型(7种)
  • 适配器 Adapter
  • 桥接 Bridge
  • 组合模式 Composite
  • 装饰者模式 Decorator
  • 外观模式 Facade
  • 享元模式 Flyweight
  • 代理模式 Proxy
  • 行为型(11种)
  • 解释器 Interpretor
  • 模板方法 Template Method
  • 责任链 Chain Of Reponsibility
  • 命令模式 Commond
  • 迭代器 Interator
  • 中介者 Mediator
  • 备忘录 Memento
  • 观察者模式 Observer
  • 状态模式 State
  • 策略模式 Strategy
  • 访问者模式 Visitor


总览

架构中的设计模式 架构师设计模式_架构中的设计模式

创建型(5种)

工厂方法 Factory Method

定义一个创建类的接口 , 允许 在不确定一个类的具体实例的情况下创建 并使用它 ,让子类决定具体实例化的类型;

抽象工厂 Abstract Factory

定义一个接口 , 创建 一系列相关 或 互相依赖 的对象 , 而无需指定它们的具体类;

生成器模式 Builder

将类的构建过程 与 具体表现 分离 ,相同的过程可以创建不同的表示;

原型模式 Prototype

用原型实例 指定创建类的对象,并通过拷贝原型来获取新的对象;

单例模式 Singleton

保证一个类的实例 全局只有一个 , 并提供一个访问它的全局访问点 ;

结构型(7种)

适配器 Adapter

将一个类的接口转换成客户需要的另一个接口 , 使原来由于接口不能兼容的类在一起工作;

桥接 Bridge

将 抽象部分 和 实现部分 分离, 使两者可以独立的变化

组合模式 Composite

将对象组合成树形结构 以描述 部分和整体的 层次关系 , 使得操作单个对象 和 操作组合对象 具有一致性;

装饰者模式 Decorator

动态的给对象添加额外的职能;

外观模式 Facade

给一系列接口的交互过程提供统一的 接口 (访问形式) ;

享元模式 Flyweight

大量 细粒度 对象的共享技术;

代理模式 Proxy

为其他对象提供一种代理 , 以控制它的访问;

行为型(11种)

解释器 Interpretor

给定一个语言 定义其文法表示 , 并定义一个解释该语言的解释器 , 解释器通过该标识解释 语言中的句子 ;

模板方法 Template Method

定义一系列算法的骨架 , 并将其中一些特定的步骤延迟到子类去实现 ; 使得 子类可以在不改变算法的结构的前提下 , 重新定义具体步骤的实现方式;

责任链 Chain Of Reponsibility

避免请求者和接收者耦合在一起 , 定义多个对象都有能力处理请求 , 并将它们以链式结构连接 , 在链上传递请求 , 直到有一个对象处理请求为止;

命令模式 Commond

将一个请求封装成一个命令 , 使用不同的请求实现参数化 , 以支持 记录 / 撤回 / 重做 / 事务 / 队列处理

迭代器 Interator

提供一个方法顺序访问 一个组合对象的各个元素 , 而不暴露该对象的内部表示;

中介者 Mediator

定义一个中介对象 , 封装一系列对象间的交互 , 使各对象之间不需要显示的调用 ,松散耦合 , 可以独立的改变它们之间的交互 ;

备忘录 Memento

在不破坏封装性的前提下 , 捕获一个对象的内部状态 , 并在对象外保存其内部状态 , 以在合适的时机 恢复对象到保存的状态

观察者模式 Observer

定义对象间一对多的依赖关系 , 当被依赖对象状态发生变化时 , 所有依赖它的对象都能收到通知 并 自动更新 ;

状态模式 State

允许对象在内部状态改变时修改自身的行为 ;

策略模式 Strategy

定义一系列算法 , 并把它们一个个封装起来 , 可以互相替换;

访问者模式 Visitor

数据结构 和 数据访问 分离;

23种设计模式