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

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

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

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

 设计模式分类

 1. 创建型模式 
 2. 结构型模式 
 3. 行为型模式 

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

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

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

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

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

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

 设计模式分类汇总

模式分类作用分类
创建型模式用于创建对象
  • 单例模式
  • 抽象工厂模式
  • 原型模式
  • 建造者模式

  • 工厂方法模式
结构型模式处理类或对象的组合
  • 外观模式
  • 桥接模式
  • 组合模式
  • 享元模式
  • 代理模式
  • 适配器模式
  • 装饰器模式
行为型模式描述类与对象怎样交互、怎样分配职责
  • 观察者模式
  • 模板方法模式
  • 迭代器模式
  • 策略模式
  • 责任链模式
  • 命令模式
  • 解释器模式
  • 访问者模式

  • 中介者模式
  • 备忘录模式
  • 状态模式

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

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

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

http://www.lryc.cn/news/376980.html

相关文章:

  • Linux进程概念(个人笔记)
  • 每天五分钟计算机视觉:如何在现有经典的卷积神经网络上进行微调
  • 10个典型的MySQL笔试题和面试题
  • AI大模型的TTS评测
  • 推荐一款可以下载B站视频和音频的工具
  • 中科数安 |-透明加密软件_无感透明加密 - 源头有保障
  • ui自动化selenium,清新脱俗代码,框架升级讲解
  • 【吊打面试官系列-Mysql面试题】Myql 中的事务回滚机制概述 ?
  • VMware虚拟机三种网络模式设置 - Bridged(桥接模式)
  • 关于Panabit在资产平台中类型划分问题
  • 【C语言】12.C语言内存函数
  • Django:如何将多个数据表内容合在一起返回响应
  • 棱镜七彩荣获CNNVD两项大奖,专业能力与贡献再获认可!
  • uni-app中使用富文本rich-text个人经验
  • Matlab|基于V图的配电网电动汽车充电站选址定容-可视化
  • 从零开始! Jupyter Notebook的安装教程
  • web前端信息卡:深入探索与实用指南
  • 之所以选择天津工业大学,因为它是双一流、报考难度适宜,性价比高!天津工业大学计算机考研考情分析!
  • WPF三方UI库全局应用MessageBox样式(.NET6版本)
  • ABAP-03基础数据类型
  • Zabbix监控神通数据库教程
  • 5.音视频基础 FLV
  • Ubuntu server 24 (Linux) 安装客户端(windows/linux) Zabbix 7.0 LTS Zabbix agent2
  • 在 Ubuntu 上取消登录密码和锁屏功能的简易指南
  • PAT B1046. 划拳
  • 奥特曼谈AI的机遇、挑战与人类自我反思:中国将拥有独特的大语言模型
  • Java版-剑指offer数据结构与算法 视频教程 下载
  • mac禁用电池睡眠-mac盒盖连接显示器
  • 最好用的智能猫砂盆存在吗?自用分享智能猫砂盆测评!
  • LeetCode 每日一题 2748. 美丽下标对的数目