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

我所认识的设计模式

首先给出的明确定义是:软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。是通过总结重复错误或其他问题归纳出的一种模式。

也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用,其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。设计模式一般是有固定模板的,我们可以在此基础上设计出我们所需要的模式,其次还给我们提供了设计目标。总的来说我们可以通过提供的设计模式来设计我们的我们的代码,利用好设计模式这种方式,我们将会使代码的书写,功能的实现更加优化完整,正确率更高。

设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

在此之前,已有人们归纳出了常用的153个设计模式,每一个设计模式都包括了三方面(前提条件,目标问题,解决方案)。

其中这些设计模式有被分为三类:

创作型模式:单例模式,工厂模式,原型模式,建造者模式等

结构型模式:适配器模式,桥接模式,组合模式,装饰模式等

行为型模式:命令模式,迭代模式,解释模式,备忘录模式,中介者模式等

在我的理解上:从模式名我们就可以大抵了解这些模式分类,创作型是给了各种与创作相关的设计模式,如工厂创作,建造这中;结构型就是你所实现的功能是具有一种结构,如某些建筑物模式,物品的结构型模式。而行为模式就是人类发出的某种行为而总结出来的,如命令模式,解释,中介者,充当某一种人物行为。

比如详细的说一些创作型模式:

工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式,而不需要指定创建对象的确切类。单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个访问该实例的全局点。适配器模式是一种结构型模式,它允许将不兼容对象包装在适配器中,以便它们可以在系统中协同工作。装饰器模式是一种结构型模式,它允许向对象添加行为而不影响其原始类别。代理模式是一种结构型模式,它允许通过使用代理对象来控制对其他对象的访问。

每一种模式都有其特点及其作用。

在者就是设计模式的优点:

首先因为他是众多专家以及技术人员共同认为且总结出来的,我们大多数人都能理解和交流。其次模式设计可由我们所需要的优化,修改,很灵活。其次是对面向对象这个过程的深入理解,坐后边是能调高我们的创作效率了。

以上就是我所认识到的设计模式


http://www.kler.cn/a/11962.html

相关文章:

  • 从0开始深度学习(28)——序列模型
  • LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略
  • LeetCode【0016】最接近的三数之和
  • 招聘app开发,人才招聘、求职首要方式
  • C++20 概念与约束(1)—— SFINAE
  • Linux系统的网络设置
  • Python+VUE生成PDF小案例
  • Ansible——介绍ansible
  • 计算专题(小计算题)
  • ubuntu中通过vscode编译调试ORB-SLAM3
  • 图文在线翻译-文本翻译
  • 流程管理中间件BPS二期项目立项准备工作经验分享
  • 测试包的更新
  • 二、JS02 BOM操作
  • 用了这几个方法,Facebook广告转化真上去了!
  • 优思学院|质量大师的那些名言(一)【质量是免费的】
  • 《算法竞赛进阶指南》0x51 线性DP
  • 计及氢能的综合能源优化调度研究(Matlab代码实现)
  • Yolov5一些知识
  • JUC并发编程之读写锁原理
  • 01 |「ChatGPT」简介
  • 机器学习算法系列(三)
  • 命令设计模式(Command Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]
  • 【计算机图形学】扫描转换算法(Bresenham1/4圆法 椭圆两头逼近法 方形刷子)
  • 密度聚类算法(DBSCAN)实验案例
  • LeetCode每日一题 1023. 驼峰式匹配 --双指针