【系统架构师】-23种设计模式

发布于:2024-04-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

1、创建性模式

设计模式名称 简要说明 速记关键字
Factory Method 工厂方法模式 定义了创建对象的接口,它允许子类决定实例化哪个类 动态生产对象
Abstract Factory 抽象工厂模式 提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类 生产成系列对象
Builder 构建器模式 将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示 复杂对象构造
Prototype 原型模式 允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。通过拷贝原型对象来创建新的对象 克隆对象
Singleton 单例模式 确保一个类只有一个实例,并且提供了对该类的全局访问入口 单实例

2、结构性模式

设计模式名称 简要说明 速记关键字
Adapter
适配器模式
将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作 转换接口
Bridge
桥接模式

将一个复杂的组件分成两个独立但又相关的继承层次结构

将类的抽象部分和实现部分分离开,使它们可以独立地变化

继承树拆分
Composite
组合模式
创建树型层次结构来改变复杂性,同时允许结构中的每一个元素操作同一个接口。用于表示“整体-部分”的层次结构 树形目录结构
Decorator
装饰模式
在不修改对象外观和功能的情况下添加或者删除对象功能
即动态地给一个对象添加一些额外的职责
动态附加职责
Facade
外观模式
子系统中的一组接口提供了一个统一的接口 对外统一接口
Flyweight
享元模式
可以通过共享对象减少系统中低等级的、详细的对象数目
提供支持大量细粒度对象共享的有效方法
汉字编码
Proxy
代理模式
为控制对初始对象的访问提供了一个代理或者占位符对象 快捷方式

3、行为性模式

设计模式名称 简要说明 速记关键字
Chain of
Responsibility
职责链模式
可以在系统中建立一个链,这样消息可以在首先接收到它的级别处被处理,或者可以定位到可以处理它的对象 传递职责
Command
命令模式
在对象中封装了请求,这样就可以保存命令,将该命令传递给方法以及像任何其他对象一样返回该命令 日志记录,可撤销
Interpreter
解释器模式
可以解释定义其语法表示的语言,还提供了用表示来解释语言中的语句的解释器 虚拟机的机制
Iterator
迭代器模式
为集合中的有序访问提供了一致的方法,而该集合是独立于基础集合,并与之相分离的 数据集
Mediator
中介者模式
通过引入一个能够管理对象间消息分布的对象,简化了系统中对象间的通信 不直接引用
设计模式名称 简要说明 速记关键字
Memento
备忘录模式
保持对象状态的“快照”(snapshot),这样对象可以在不向外
界公开其内容的情况下返回到它的最初状态
游戏存档
Ohserver
观察者模式
为组件向相关接收方广播消息提供了灵活的方法
定义对象间的一种一对多的依赖关系
订阅、广播、联动
State
状态模式
允许一个对象在其内部状态改变时改变它的行为 状态变成类
Strategy
策略模式
定义一系列算法,把它们一个个封装起来,并且使它们之间
可互相替换,从而让算法可以独立于使用它的用户而变化
多方案切换
Template Method
模板方法模式
提供了在不重写方法的前提下允许子类部分重载方法的方法 框架
Visitor
访问者模式
提供了一种方便的、可维护的方法来表示在对象结构元素上
要进行的操作
数据与操作分离

网站公告

今日签到

点亮在社区的每一天
去签到