当前位置: 首页 > news >正文

软件设计模式 - 汇总

总结了常见的软件设计模式,包括它们的分类、名称、定义和主要用途:

分类名称定义主要用途
创建型模式单例模式确保一个类只有一个实例,并提供一个全局访问点。用于控制对象的创建,如数据库连接。
工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。用于创建对象,无需指定具体类。
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。用于创建相关对象的家族。
构建器模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。用于创建复杂对象。
原型模式用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。用于创建重复的对象。
结构型模式适配器模式将一个类的接口转换成客户期望的另一个接口。用于兼容不同接口的类。
桥接模式将抽象部分与实现部分分离,使它们都可以独立地变化。用于分离抽象和实现。
[组合模式] (https://blog.csdn.net/linkedin_21843693/article/details/141431975)将对象组合成树形结构以表示“部分-整体”的层次结构。用于表示树形结构。
装饰器模式动态地给一个对象添加一些额外的职责。用于扩展对象的功能。
外观模式为子系统中的一组接口提供一个统一的界面。用于简化接口。
享元模式运用共享技术有效地支持大量细粒度的对象。用于减少对象的创建数量。
代理模式为其他对象提供一种代理以控制对这个对象的访问。用于控制对象的访问。
行为型模式职责链模式使多个对象都有机会处理请求,从而避免了请求发送者和接收者之间的耦合关系。用于处理请求。
命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。用于实现对命令的撤销和记录。
解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器。用于解释语言文法。
迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。用于遍历集合对象。
中介者模式定义一个对象来封装一组对象之间的交互。用于降低对象间的耦合。
备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。用于保存和恢复对象状态。
观察者模式当一个对象的状态发生改变时,自动通知所有依赖于它的对象。用于实现对象间的联动。
状态模式允许一个对象在其内部状态改变时改变它的行为。用于处理对象状态转换。
策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。用于实现算法的切换。
模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。用于定义算法的框架。
访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。用于扩展对象结构的功能。

每一种例子,若有超连接,则补充了详细说明,慢慢填坑!

设计模式汇总:查看


http://www.mrgr.cn/news/14475.html

相关文章:

  • KESSIL A360维修
  • 计算机基础知识复习8.29
  • 设计模式相关
  • Spring八股文
  • 手机三网状态实时查询分享
  • git 如何在切换分支时不丢弃本地修改
  • Android活动(activity)与服务(service)进行通信
  • 计算机毕业设计选题推荐-游戏比赛网上售票系统-Java/Python项目实战
  • APP.vue引入子组件进行页面展示
  • dbeaver数据库工具配置连接openGauss5.X
  • 【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实际误码率对比仿真。
  • 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题
  • 高效网络管理解决方案及“监控易”推荐
  • Spring+SpringWeb+MyBatis三大框架整合教程 实现先前后端交互搭建
  • [000-01-022].第03节:RabbitMQ中的优先级队列
  • 极光推送(JPush)赋能登虹科技,打造智慧视觉云平台新体验
  • 279. 完全平方数
  • 华为HCIA考试大纲
  • 【k8s】Kubernetes初步
  • FPGA第 5 篇,FPGA技术优略势,FPGA学习方向,FPGA学习路线(FPGA专业知识的学习方向,FPGA现场可编程门阵列学习路线和方向)