设计模式分类 纯背
创建型设计模式
模式 |
意图 |
工厂方法 |
定义一个用于创建对象的接口,让子类决定实例化哪一个类 |
抽象工厂 |
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 |
生成器模式 |
将一个复杂对象的构建与它的表示分类,使得同样的构建过程可以创建不同的表示 |
原型模式 |
用原型实例指定创建对象的种类,并且通过复制这些原型对象创建新的对象 |
单例模式 |
保证一个类仅有一个实例,并提供一个访问它的全局访问点 |
简单工厂模式 作为基础
工厂方法模式 Factory Method 让子类来实例化
抽象工厂模式 Abstract Factory 创建多类产品
生成器模式 Builder 复杂对象分离
原型模式 Prototype 复制原型实例创建新的对象
单例模式 Singleton 只有一个实例
结构型设计模式
模式 |
意图 |
适配器模式 |
将一个类的接口转换成客户希望的另一个接口 |
桥接模式 |
将抽象与其实现部分分类,使他们都可以独立的变化 |
组合模式 |
将对象组合成树形模式以表示 部分与整体 |
装饰模式 |
动态地给一个对象添加额外的职责 |
外观模式 |
为子系统中的一组接口提供一个一致的接口,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 |
享元模式 |
运用共享技术有效地支持大量细粒度的对象 |
代理模式 |
为其他对象提供一种代理以控制对这个对象的访问 |
适配器模式 Adapter 类转换为客户需要的另一个接口 typec
桥接模式 Bridge 抽象部分和实现部分分离
组合模式 Composite 对象组合成树型结构表示“部分-整体”
装饰器模式 Decorator 动态给对象添加额外职责
外观模式 Facade 子系统一组接口提供一个简单接口
享元模式 Flyweight 共享技术支持细粒度对象 五子棋
代理模式 Proxy 提供代理控制对对象的访问
行为型设计模式
责任链模式 Chain of Responsibility 避免发送者和接收者之间耦合关系 多个对象都能处理请求 决定不了就找上级领导
命令模式 Command 请求封装为对象
解释器模式 Interpreter 定义一个解释器解释语言中的句子
迭代器模式 Iterator 顺序访问各个元素
备忘录模式 Memento 捕获内部状态并保存 回滚
观察者模式 Observer 一个对象状态改变 其它对象得到通知并更新
24.cnblogs.com/blog/1344595/202405/1344595-20240519192627569-2121315098.png)
状态模式 State 内部状态改变时改变行为 贩卖机
策略模式 Strategy 定义一系列算法 不同客户使用不同算法
模版方法模式 Template Method 定义算法骨架 子类来完成
访问者模式 Visitor 作用于对象结构中各元素的操作 accept操作
综合