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

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

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

设计模式分类

  1. 创建型模式

  2. 结构型模式

  3. 行为型模式

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

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

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

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

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

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

设计模式分类汇总

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

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

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

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

相关推荐
程序员Terry1 天前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
刀法如飞2 天前
AI时代,程序员都应该是算法思想工程师
人工智能·设计模式·程序员
在西安放羊的牛油果2 天前
我把 2000 行下单代码,重构成了一套交易前端架构
前端·设计模式·架构
寅时码3 天前
React 正在演变为一场不可逆的赛博瘟疫:AI 投毒、编译器迷信与装死的官方
前端·react.js·设计模式
willow6 天前
Axios由浅入深
设计模式·axios
七月丶8 天前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
刀法如飞8 天前
从程序员到架构师:6大编程范式全解析与实践对比
设计模式·系统架构·编程范式
九狼8 天前
Flutter + Riverpod +MVI 架构下的现代状态管理
设计模式
静水流深_沧海一粟9 天前
04 | 别再写几十个参数的构造函数了——建造者模式
设计模式