• 【设计模式】一、设计模式概述



    一、设计模式概述

    (一)设计模式是什么

    1. 设计模式的定义

    设计模式的一般定义如下:

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

    狭义的设计模式 是指 GoF 在 Design Patterns: Elements of Reusable Object-Oriented Software(《设计模式:可复用面向对象软件的基础》)一书中所介绍的23种经典设计模式。

    2. 设计模式的组成要素

    设计模式一般包括模式名称、问题、目的、解决方案、效果等组成要素,其中关键要素是模式名称、问题、解决方案和效果。

    • 模式名称(Pattern Name): 通过一两个词来为模式命名,以便我们更好地理解模式并方便开发人员之间的交流,绝大多数模式都是根据其功能或模式结构来命名的(GoF设计模式中没有一个模式用人名命名)。
    • 问题(Problem): 描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因。
    • 解决方案(Solution): 描述了一个设计模式的组成部分,以及这些组成部分之间的相互关系、各自的职责和协作方式,通常解决方案通过UML类图和核心代码进行描述。
    • 效果(Consequence): 描述了模式的优缺点以及在使用模式时应权衡的问题。
    3、常用设计模式一览表
    类型模式名称学习难度使用频率
    (一)创建型模式(5种)单例模式★☆☆☆☆★★★★☆
    简单工厂模式(备注:不在GoF 23种设计模式中)★★☆☆☆★★★☆☆
    工厂模式★★☆☆☆★★★★★
    抽象工厂模式★★★★☆★★★★★
    原型模式★★★☆☆★★★☆☆
    建造者模式★★★★☆★★☆☆☆
    (二)结构型模式(7种)适配器模式★★☆☆☆★★★★☆
    桥接模式★★★☆☆★★★☆☆
    组合模式★★★☆☆★★★★☆
    装饰模式★★★☆☆★★★☆☆
    外观模式★☆☆☆☆★★★★★
    享元模式★★★★☆★☆☆☆☆
    代理模式★★★☆☆★★★★☆
    (三)行为型模式(11种)职责链模式★★★☆☆★★☆☆☆
    命令模式★★★☆☆★★★★☆
    解释器模式★★★★☆★☆☆☆☆
    迭代器模式★★★☆☆★★★★★
    中介者模式★★★☆☆★★☆☆☆
    备忘录模式★★☆☆☆★★☆☆☆
    观察者模式★★★☆☆★★★★★
    状态模式★★★☆☆★★★☆☆
    策略模式★☆☆☆☆★★★★☆
    模板模式★★☆☆☆★★★☆☆
    访问者模式★★★★☆★☆☆☆☆

    (二)设计模式的优点(用途)

    • 提供了一种共享的设计词汇和概念,使开发人员能够更好地沟通和理解彼此的设计意图。
    • 提供了经过验证的解决方案,可以提高软件的可维护性、可复用性和灵活性。
    • 促进了代码的重用,避免了重复的设计和实现。
    • 通过遵循设计模式,可以减少系统中的错误和问题,提高代码质量。

    参考资料

    参考书籍:《设计模式的艺术 / 刘伟著》

    参考网站:设计模式 | 菜鸟教程

  • 相关阅读:
    实体属性映射框架mapstruct
    测试需求分析
    数据排序(多字段数据排序)
    MySQL 快速入门之MySQL 5.7.21解压版安装详细教程
    全链路压测的步骤及重要性
    【iOS ARKit】RealityKit 中的物理组件
    ConcurrentHashMap 成员、方法分析
    WMS系统后端开发-用户权限
    太空射击第09课:精灵动画
    『vue-router 要点』
  • 原文地址:https://blog.csdn.net/Shipley_Leo/article/details/136626094