设计模式
参考资料:https://blog.csdn.net/ShuSheng0007/article/details/115980889
定义
- 一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
- 从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案
目的
- 可重用代码
- 让代码更容易被他人理解
- 保证代码可靠性
分类
根据目的分类
根据其目的(模式是用来做什么的)分三种:
- 创建型(Creational)——主要用于创建对象。灵活应用
- 结构型(Structural)——主要用于处理类或对象的关系。核心思想:包一层
- 行为型(Behavioral)——主要用于描述对类或对象怎样交互和怎样分配职责(类和行为的分离)。核心思想:甩锅
根据范围分类
根据是处理类之间还是对象之间的关系,分两种。
类模式——处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。
对象模式——处理对象间的关系,这些关系在运行时刻变化,更具动态性。
具体划分
范围/目的 | 创建型模式 | 结构型模式 | 行为型模式 |
---|---|---|---|
类模式 | 工厂方法模式 | (类)适配器模式 | 解释器模式模板方法模式 |
对象模式 | 抽象工厂模式、建造者模式、原型模式、单例模式 | (对象)适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式 | 职责链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、访问者模式 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?