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

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

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

设计模式分类

  1. 创建型模式

  2. 结构型模式

  3. 行为型模式

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

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

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

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

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

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

设计模式分类汇总

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

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

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

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

相关推荐
啦啦啦啦啦zzzz12 小时前
设计模式:桥接模式和组合模式
c++·设计模式·组合模式·桥接模式
莫得感情 o14 小时前
设计模式 03 · 工厂方法模式
设计模式·工厂方法模式
cyforkk15 小时前
高并发核心设计模式:Single-Flight 原理与实战
设计模式
饼干哥哥1 天前
字节Seedance2.5终于上线,这次在收割谁?
人工智能·设计模式·前端框架
董员外1 天前
RAG 系统进化论(六):GraphRAG(基于知识图谱的 RAG),从相似文本走向实体关系
人工智能·后端·设计模式
鬼鬼鬼1 天前
从 Prompt 到 Harness:企业级 Agent 工程的完整演进之路
设计模式·架构·ai编程
啦啦啦啦啦zzzz1 天前
设计模式:原型模式
c++·设计模式·原型模式
董员外1 天前
RAG 系统进化论(五):Corrective RAG 与 Self-RAG,让系统发现并纠正错误
人工智能·后端·设计模式
workflower2 天前
高质量数据集的类型
人工智能·机器学习·设计模式·自然语言处理·机器人
啦啦啦啦啦zzzz2 天前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂