系统架构设计师 - 23种设计模式(GOF)

本文详细解读了23种设计模式,包括创建型的工厂方法、抽象工厂、生成器模式、原型模式和单例模式,结构型的适配器、桥接、组合、装饰者、外观、享元和代理,以及行为型的解释器、模板方法、责任链等。这些模式有助于提升软件设计的灵活性和效率。
摘要由CSDN通过智能技术生成

总览

在这里插入图片描述

创建型(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种设计模式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值