【设计模式(三) 设计模式的分类 】

设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。

使用设计模式的目的 :为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

设计模式分类

  1. 创建型模式

  2. 结构型模式

  3. 行为型模式

设计模式为什么要分为创建型、结构型、行为型?

设计模式按照功能和用途可以分为创建型、结构型和行为型三种类型,这种分类方式主要是为了方便设计模式的理解和应用。

  • 创建型模式:创建型模式主要关注对象的创建过程,包括如何创建对象、如何组合和表示对象等。创建型模式包括单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式等。通过创建型模式,可以更加灵活地创建和组合对象,同时也可以隐藏对象的创建细节,提高代码的复用性和可维护性。

  • 结构型模式:结构型模式主要关注对象的组成和关系,包括如何将类和对象组合成更大的结构,以及如何简化对象之间的交互。结构型模式包括适配器模式、装饰器模式、代理模式、组合模式、桥接模式、外观模式和享元模式等。通过结构型模式,可以更好地组织代码,使得代码更加清晰和易于理解,同时也可以提高代码的重用性和可维护性。

  • 行为型模式:行为型模式主要关注对象之间的交互和通信,包括如何定义对象的职责和行为,以及如何协调不同对象之间的工作。行为型模式包括模板方法模式、策略模式、命令模式、责任链模式、状态模式、观察者模式、中介者模式和访问者模式等。通过行为型模式,可以更好地解耦对象之间的依赖关系,使得代码更加灵活和可扩展,同时也可以提高代码的可读性和可维护性。

总之,设计模式按照功能和用途的不同进行分类,有助于我们更好地理解和应用它们,同时也有助于我们选择合适的设计模式来解决具体的问题。

设计模式分类汇总

|-------|-------------------|---------------------------------------------------------------------------------------|
| 模式分类 | 作用 | 分类 |
| 创建型模式 | 用于创建对象 | * 单例模式 * 抽象工厂模式 * 原型模式 * 建造者模式 * 工厂方法模式 |
| 结构型模式 | 处理类或对象的组合 | * 外观模式 * 桥接模式 * 组合模式 * 享元模式 * 代理模式 * 适配器模式 * 装饰器模式 |
| 行为型模式 | 描述类与对象怎样交互、怎样分配职责 | * 观察者模式 * 模板方法模式 * 迭代器模式 * 策略模式 * 责任链模式 * 命令模式 * 解释器模式 * 访问者模式 * 中介者模式 * 备忘录模式 * 状态模式 |

设计模式(四)创建者模式之单例模式

设计模式(五)创建者模式之工厂模式

设计模式(六)创建者模式之原型模式

相关推荐
geovindu6 小时前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式
怕浪猫8 小时前
面试官让我手写一个 Tool Use,我用了 3 种方案
设计模式·面试·程序员
geovindu1 天前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
Carl_奕然1 天前
【智能体】Loop 的四种设计模式之:Event-Driven Loop(2026 最新版)
人工智能·驱动开发·python·设计模式
Carl_奕然1 天前
【智能体】Loop 的四种设计模式之:Hill Climbing Loop(2026 最新版)
人工智能·python·设计模式
晚安code2 天前
设计模式入门:吃透 SOLID 原则与迪米特法则,再学 5 个高频模式
后端·设计模式
染指11102 天前
135.Agent-多Agent框架-LangChain多智能体(SubAgents子代理)
数据库·人工智能·设计模式·langchain·agent·agents
路弥行至3 天前
【Head First 设计模式】第 2 章:观察者模式 —— 用现代 C++ 重新解读“交互对象的松耦合
c++·经验分享·笔记·观察者模式·设计模式·入门教程·headfirst
YYYing.3 天前
【设计模式系列 (九) 】装饰器模式
c++·后端·设计模式·装饰器模式·c/c++
沫璃染墨3 天前
《从零入门Linux系统篇(五十六):线程篇·九——生产者消费者模型:从条件变量到BlockingQueue实现》
linux·服务器·c++·驱动开发·设计模式·架构·系统架构