设计模式 ☞ 概述

偏执的太偏执、 2022-12-28 00:53 262阅读 0赞

1.1 简介

1.1.1 概述

  设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。设计模式与方法或库的使用方式不同, 很难直接在自己的程序中套用某个设计模式。 模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 可以根据模式来实现符合自己程序实际所需的解决方案。
  人们常常会混淆模式和算法, 因为两者在概念上都是已知特定问题的典型解决方案。 但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。 同一模式在两个不同程序中的实现代码可能会不一样。算法更像是菜谱: 提供达成目标的明确步骤。 而模式更像是蓝图: 可以看到最终的结果和模式的功能, 但需要自己确定实现步骤。

1.1.2 设计模式的历史

  谁发明了设计模式?这是一个很好的问题, 但也有点不太准确。 设计模式并不是晦涩的、 复杂的概念——事实恰恰相反。 模式是面向对象设计中常见问题的典型解决方案。 同样的解决方案在各种项目中得到了反复使用, 所以最终有人给它们起了名字, 并对其进行了详细描述。 这基本上就是模式被发现的历程了。模式的概念是由克里斯托佛·亚历山大在其著作 《建筑模式语言》 中首次提出的。 本书介绍了城市设计的 “语言”, 而此类 “语言” 的基本单元就是模式。 模式中可能会包含对窗户应该在多高、 一座建筑应该有多少层以及一片街区应该有多大面积的植被等信息的描述。
  埃里希·伽玛、 约翰·弗利赛德斯、 拉尔夫·约翰逊和理查德·赫尔姆这四位作者接受了模式的概念。 1994 年, 他们出版了 《设计模式: 可复用面向对象软件的基础》 一书, 将设计模式的概念应用到程序开发领域中。 该书提供了 23 个模式来解决面向对象程序设计中的各种问题, 很快便成为了畅销书。 由于书名太长, 人们将其简称为 “四人组(Gang of Four, GoF)的书”, 并且很快进一步简化为 “GoF 的书”。此后, 人们又发现了几十种面向对象的模式。 ​ “模式方法” 开始在其他程序开发领域中流行起来。 如今, 在面向对象设计领域之外, 人们也提出了许多其他的模式。

1.1.3 设计模式的分类

  同设计模式的复杂程度、 细节层次以及在整个系统中的应用范围等方面各不相同。 我喜欢将其类比于道路的建造: 如果希望让十字路口更加安全, 那么可以安装一些交通信号灯, 或者修建包含行人地下通道在内的多层互通式立交桥。
  最基础的、 底层的模式通常被称为惯用技巧。 这类模式一般只能在一种编程语言中使用。最通用的、 高层的模式是构架模式。 开发者可以在任何编程语言中使用这类模式。 与其他模式不同, 它们可用于整个应用程序的架构设计。此外, 所有模式可以根据其意图或目的来分类。 三种主要的模式类别有:
 ♞ 创建型模式 提供创建对象的机制, 增加已有代码的灵活性和可复用性。
 ♞ 结构型模式 介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
 ♞ 行为模式 负责对象间的高效沟通和职责委派。

1.2 详解设计模式

1.2.1 七大设计原则














































序号 名称 地址
01 单一职责原则 ⚔ 详情
02 接口隔离原则 ⚔ 详情
03 依赖倒置原则 ⚔ 详情
04 里氏替换原则 ⚔ 详情
05 开闭原则 ⚔ 详情
06 迪米特法则 ⚔ 详情
07 合成复用原则 ⚔ 详情

1.2.2 二十三种设计模式






























































































































序号 名称 地址
01 创建型 - 单例模式 ⚔ 详情
02 创建型 - 工厂方法模式 ⚔ 详情
03 创建型 - 抽象工厂模式 ⚔ 详情
04 创建型 - 原型模式 ⚔ 详情
05 创建型 - 建造者模式 ⚔ 详情
06 结构型 - 适配器模式 ⚔ 详情
07 结构型 - 桥接模式 ⚔ 详情
08 结构型 - 装饰器模式 ⚔ 详情
09 结构型 - 组合模式 ⚔ 详情
10 结构型 - 外观模式 ⚔ 详情
11 结构型 - 享元模式 ⚔ 详情
12 结构型 - 代理模式 ⚔ 详情
13 行为型 - 模板方法模式 ⚔ 详情
14 行为型 - 命令模式 ⚔ 详情
15 行为型 - 访问者模式 ⚔ 详情
16 行为型 - 迭代器模式 ⚔ 详情
17 行为型 - 观察者模式 ⚔ 详情
18 行为型 - 中介者模式 ⚔ 详情
19 行为型 - 备忘录模式 ⚔ 详情
20 行为型 - 解释器模式 ⚔ 详情
21 行为型 - 状态模式 ⚔ 详情
22 行为型 - 策略模式 ⚔ 详情
23 行为型 - 责任链模式 ⚔ 详情

参考资料
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,262人围观)

还没有评论,来说两句吧...

相关阅读

    相关 设计模式概述

    设计模式概述 1、什么是设计模式? 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提

    相关 设计模式概述

    1.1 简介 1.1.1 概述   设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。设计模

    相关 设计模式概述

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码

    相关 设计模式概述

    前言 我们应该都看过武侠小说吧,就算没有看过武侠小说,武侠电视剧应该也看过吧。在武侠小说或者电视剧里面存在一种争论,那就是“招式”重要还是“内功”重要。在这并不是分析张无

    相关 设计模式概述

    从招式与内功谈起——设计模式概述(一)     关于金庸小说中到底是招式重要还是内功重要的争论从未停止,我们在这里并不分析张无忌的九阳神功和令狐冲的独孤九剑到底哪个更厉害

    相关 设计模式概述

    前言 大约在一年前学习过一段时间的设计模式,但是当时自己的学习方式比较低效,也没有深刻的去理解、运用所学的知识. 所以现在准备系统的再重新学习一遍,写一个关于设计模式的

    相关 设计模式——设计模式概述

    概述 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在的各种问题,所提出的解决方案。设计模式并不是固定的一套代码,而是针对某一特定问题的

    相关 设计模式概述

    > 什么是设计模式 >       > >     设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计

    相关 设计模式概述

    一 设计模式概述 1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克