首页 > 其他分享 >设计模式总览

设计模式总览

时间:2022-10-24 18:57:07浏览次数:99  
标签:设计模式 原则 对象 创建 模式 软件工程 总览

设计模式是什么?

在软件工程中,设计模式(Design Pattern)是对软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题。

设计模式与方法或库的使用方式不同,你很难直接在自己的程序中套用某个设计模式。模式并不是一段特定的代码,而是解决特定问题的一般性概念。你可以根据模式来实现符合自己程序实际所需的解决方案。

人们常常会混淆模式和算法,因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤,而模式则是对解决方案的更高层次描述,同一模式在两个不同程序中的实现代码可能会不一样。

算法更像是菜谱,提供达成目标的步骤。而模式更像是蓝图,你可以看到最终的结果和模式的功能,但需要自己确定实现步骤。

设计模式的七大原则

  1. 单一职责原则(SRP):一个接口或类只有一个原因引起变化
  2. 里氏替换原则(LSP):所有引用基类的地方必须能透明地使用其子类对象
  3. 依赖倒置原则(DIP):高层模块不依赖于底层模块,都依赖于抽象;抽象接口不依赖于具体实现,具体实现依赖于抽象接口
  4. 接口隔离原则(LSP):类之间的依赖关系应该建立在最小的接口上
  5. 迪米特法则(LOD):一个软件实体应该尽可能少的与其他实体发生相互作用
  6. 开闭原则(OCP):软件中的对象(如类、模块、函数等)应该对于扩展开放,但是对于修改关闭
  7. 组合/聚合复用原则(CARP):尽量使用组合/聚合,而不是通过继承达到复用的目的

设计模式分类

创建型模式

在软件工程中,创建型模式是处理对象创建的设计模式。创建型模式关注的重点在于如何创建对象,其核心思想是要把对象的创建和使用相分离。创建型模式主要分为以下几种:

  1. 工厂方法模式
  2. 抽象工厂模式
  3. 生成器模式
  4. 原型模式
  5. 单例模式

结构型模式

在软件工程中,结构型模式介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。结构型模式主要分为以下几种:

  1. 适配器模式
  2. 桥接模式
  3. 组合模式
  4. 装饰模式
  5. 外观模式
  6. 元模式
  7. 代理模式

行为模式

在软件工程中,行为模式用来识别对象之间的常用交流模式并加以实现,负责对象间的高效沟通和指责委派。行为模式主要分为以下几种:

  1. 责任链模式
  2. 命令模式
  3. 迭代器模式
  4. 中介者模式
  5. 备忘录模式
  6. 观察者模式
  7. 状态模式
  8. 策略模式
  9. 模板方法模式
  10. 访问者模式

参考资料

  1. 设计模式 (计算机)
  2. 设计模式
  3. 什么是设计模式?

标签:设计模式,原则,对象,创建,模式,软件工程,总览
From: https://www.cnblogs.com/kokasumi/p/16822398.html

相关文章

  • JavaScript 设计模式之策略模式
    什么是设计模式?为什么需要学习设计模式?学习设计模式的目的是:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工......
  • 浅析 Dapr 里的云计算设计模式
    Dapr实际上是把分布式系统与微服务架构实践的挑战以及k8s这三个主题的全方位的设计组合,特别是Kubernetes设计模式一书作者BilginIbryam提出的Multi......
  • 直播电商平台开发,设计模式单例模式
    直播电商平台开发,设计模式单例模式1.说明单例即只有一个实例,比如说配置、日志、连接池等,可以避免多个实例带来的多余的资源开销,并且在多线程环境下保证数据安全 2.类......
  • 行为型设计模式之解释器模式
    解释器模式解释器模式属于行为型模式。它是指给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。是一种按照规定的语法(文法)进行......
  • 设计模式之原型模式
    概述在使用原型模式时,需要首先创建一个原型对象,再通过复制这个原型对象来创建更多同类型的对象。其定义如下:使用原型实例指定创建对象的种类,并且通过克隆这些原型创建新的......
  • 浅谈PHP设计模式的工厂模式
    简介工厂模式属于创建型模式,可以分为三种:简单工厂、工厂模式、抽象工厂。通俗讲就是用于如何优雅的创建对象而设计。当开发者不知道建什么对象,或者创建方式过于复杂的时......
  • 设计模式 - 桥接模式
    目录实例数据转换工具桥接模式概念角色定义典型代码具体实现总结源码实例数据转换工具Sunny软件公司欲开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例......
  • 设计模式之抽象工厂模式
    简介工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会......
  • 模板方法设计模式
    模板方法设计模式什么是设计模式?某个问题的固定的解决方案。(可以被重复使用。)你知道哪些设计模式?GoF设计模式:通常我们所说的23种设计模式。(GangofFour:4人组提出的......
  • Thanos 架构剖析(一)Thanos 架构总览
    Thanos是什么,是打了响指灭了一半人类的灭霸吗?不是,在监控领域,Thanos是Prometheus的高可用解决方案,由英国游戏技术公司Improbable开源,在2018年的9月14日发布了第......