设计模式概述

什么是设计模式

  • 软件设计模式(Software Design Pattern)又称设计模式
  • 是一套被反复使用、多数人知晓的、代码设计经验的总结
  • 它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案
  • 也就是说,它是解决特定问题的一系列套路,具有一定的普遍性,可以反复使用代码设计经验的总结

为什么要学习设计模式

  • 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期
  • 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强
  • 可以提高程序员的思维能力、编程能力和设计能力
  • 软件设计模式只是一个引导。在具体的软件幵发中,必须根据设计的应用系统的特点和要求来恰当选择
  • 对于简单的程序开发,可能写一个简单的算法要比引入某种设计模式更加容易。但对大项目的开发或者框架设计,用设计模式来组织代码显然更好

GoF 23种设计模式

  • 1995 年,艾瑞克 · 伽马(ErichGamma)理査德 · 海尔姆(Richard Helm)拉尔夫 · 约翰森(Ralph Johnson)约翰 · 威利斯迪斯(John Vlissides)等 4 位作者
  • 合作出版了 《设计模式:可复用面向对象软件的基础》
  • 在本教程中收录了 23 个设计模式,这是设计模式领域里程碑的事件
  • 这 4 位作者在软件开发领域里也以他们的 “四人组”(Gang of Four,GoF)匿名著称

设计模式分类

  • 根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种

创建型模式 5种

  • 用于描述 “怎样创建对象”,它的主要特点是 “将对象的创建与使用分离”
  • 工厂方法设计模式
  • 抽象工厂设计模式
  • 单例设计模式
  • 原型设计模式
  • 建造者设计模式

结构型模式 7种

  • 用于描述如何将类或对象按某种布局组成更大的结构
  • 代理设计模式
  • 适配器设计模式
  • 桥接设计模式
  • 装饰器设计模式
  • 外观设计模式
  • 享元设计模式
  • 组合设计模式

行为型模式 11种

  • 用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责
  • 模板方法设计模式
  • 策略设计模式
  • 命令设计模式
  • 职任链设计模式
  • 状态设计模式
  • 观察者设计模式
  • 中介者设计模式
  • 迭代器设计模式
  • 访问者设计模式
  • 备忘录设计模式
  • 解释器设计模式
posted @ 2021-07-12 09:11  BNTang  阅读(60)  评论(0编辑  收藏  举报