美文网首页
GoF - 设计模式摘要

GoF - 设计模式摘要

作者: _Walker__ | 来源:发表于2021-11-25 23:02 被阅读0次

  简单概述每种模式的用法或作用,在做设计时可以快速启发自己。

1、创建型模式

  1. 抽象工厂 (Abstract Factory)
    提供接口创建一组相关对象,这些对象可以共同组成一个“更大”的对象。

  2. 生成器 (Builder)
    封装创建一个复杂对象的细节,但是暴露部分组成元素的“组装”接口,让调用者负责执行。使得调用者可以控制什么时候添加那种元素(或者不添加某元素)。

  3. 工厂方法 (Factory Method)
    子类中实现创建某个对象的方法,基类中负责调用创建的方法,同时也会处理其他业务逻辑。例如:在基类中做数据结构转换,必要配置读取等。

  4. 原型 (Prototype)
    用深拷贝对象的方式,创建新对象。

  5. 单例 (Singleton)
    保证一个类在全局仅可创建一个对象。

2、结构型模式

  1. 适配器 (Adapter)
    对不兼容的接口进行转换

  2. 桥接 (Bridge)
    在两个维度上提供接口:底层X、高层Y,Y给客户使用,X给Y使用
    通过动态替换X,产生 X * Y 种效果。

  3. 组合 (Composite)
    基本对象与容器对象实现相同的接口,对外它们的行为一致,在内部可以相互组合形成复杂的层次结构。

  4. 装饰者 (Decorator)
    用对象包对象的方式,扩充对象的功能。二者保证接口一致,输出结果“叠加”。

  5. 外观 (Facade)
    将一个系统对外的接口集中放在一个类中暴露,达到简化使用的效果。
    外观类中的接口,通常只是对系统内接口的转发。

  6. 享元 (Flyweight)
    通过共用无状态对象的方式,减少内存消耗。

  7. 代理 (Proxy)
    在访问者与被访问者之间,引入一个中间层。

3、行为型模式

  1. 责任链 (Chain of Responsibility)
    多个对象可以处理同一请求,最终只能被一个处理。将这些对象串连在一起(责任链),逐个尝试处理请求,确认处理后停止向后传递。

  2. 命令 (Command)
    指定一个操作(Command),传递给另一个对象,让它在某时间执行操作。
    它就类似一个面向对象版的回调函数。

  3. 中介者 (Mediator)
    将对象间的交互,集中放在一个中介对象里(Mediator),从而解除其他对象间的耦合。
    MVC的C就是一个Mediator。

  4. 备忘录 (Memento)
    保存一个对象内部状态到Memo对象,记录在Memo里的状态,只能被状态拥有者读写(依赖语言支持才能实现)。

  5. 观察者 (Observer)
    在一个对象内实现的事件机制,事件触发者是一个明确、固定的对象(Subject)

  6. 状态 (State)
    对象提供的操作在不同状态下会采取不同的行为时,将每个状态下的行为拆分出去,集中放在一个状态对象中。由State或Context对象进行状态的切换。

  7. 策略 (Strategy)
    把容易变化的部分拆分到独立的对象中,并用组合的方式,将对象集成到自己身上提供相关的功能。

  8. 模版方法 (Template Method)
    基类定义好整套流程,将一些容易变化的步骤定义成虚方法,由子类进行重写。

  9. 访问者 (Visitor)
    可以给结构固定的对象,添加任意操作的方式。它不限定有明确含义的接口,但是需要原对象有支持Visitor的实现。每个Visitor类实现一个操作,数量任意、功能任意。

相关文章

  • GoF - 设计模式摘要

      简单概述每种模式的用法或作用,在做设计时可以快速启发自己。 1、创建型模式 抽象工厂 (Abstract Fa...

  • GOF设计模式摘要汇总

    参考资料:图说设计模式参考资料:java-design-patterns 关于GOF设计模式,参考资料繁多。此文档...

  • 23种设计模式

    23种设计模式 GoF:(Gang of Four,GOF设计模式)---四人组 Design Pattern...

  • 设计模式之创建型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • 设计模式之结构型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • 设计模式之行为型

    设计模式概述 基于设计原则,GoF(设计模式总结4人组)总结了软件开发领域的23个经典设计模式。虽然GoF设计模式...

  • GOF的23种设计模式

    设计模式(Design Patterns) GOF的23种设计模式 GoF(“四人帮”,指Gamma, Helm,...

  • 19暑期学习-Day7

    休息~预习GoF设计模式

  • GOF的23种设计模式

    一、GOF简介 GOF是设计模式的经典名著Design Patterns: Elements of Reusabl...

  • 11. 设计模式分类

    设计模式的分类,把GoF的23个设计模式写完之后再写

网友评论

      本文标题:GoF - 设计模式摘要

      本文链接:https://www.haomeiwen.com/subject/dsmotrtx.html