title: 设计模式之设计模式概述
date: 2022-12-04 00:21:18.469
updated: 2022-12-11 23:03:45.617
categories: 
- 设计模式
tags: 
- 设计模式

一、什么是设计模式

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

二、为什么要学习设计模式

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

三、GoF 23种设计模式

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

四、设计模式分类

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

1、创建型模式5种

用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。

  • 工厂方法设计模式
  • 抽象工厂设计模式
  • 单例设计模式
  • 原型设计模式
  • 建造者设计模式

2、结构型模式7种

用于描述如何将类或对象按某种布局组成更大的结构

  • 代理设计模式
  • 适配器设计模式
  • 桥接设计模式
  • 装饰器设计模式
  • 外观设计模式
  • 享元设计模式
  • 组合设计模式

你的压力来源于无法自律,只是假装努力,现状跟不上内心欲望,所以你焦虑又恐慌。——杨不易