设计模式

133 阅读2分钟

概述

设计模式是对应的一些处理方案形成的思想所构成的模式。主要正对是类和对象设计和构造,他区分语言,总共23中设计语言(架构设计和源码设计)

设计模式的分类

  1. 五种创建型模式(关于对象的创建)
  2. 七种结构型模式(将多个小结构并入一个大结构)
  3. 十一种行为型模式(对象的通信逻辑)

设计模式分类图

image.png

设计模式的七大原则

  1. 单一责任原则*
  2. 开放封闭原则*
  3. 里氏置换原则
  4. 依赖倒转原则
  5. 接口隔离原则
  6. 迪米特法则
  7. 合成复用原则

主要讲解的模式

  1. 创建型模式(工厂模式、单列模式)
  2. 结构性模式(代理模式、装饰器模式、组合模式)
  3. 行为型模式(观察者模式 策略模式 迭代器模式)

工厂模式

以工厂的形式来生成对象(不关注对象的细节)

单例模式(饿汉,懒汉)

保证产生的对象只有一个(不会被污染)

组合模式

将多个小结构组合成一个大结构(将共有的函数放在一起调用) 将init方法一起执行 利用组合模式来执行多个同名方法 组合模式的应用 vue里面use 和install

装饰器模式

用一个新的类将对应的原本的对象进行分装再进行加强(在不改变原有对象的基础上增强对象) TS内置有对应的装饰器Deccorator TS中使用注释来进行对应的装饰器添加@decorator

代理模块

概述

代理模块是在元有对象的基础上增强对应的对象(利用代理对象来增强)代理对象通常访问的是实际的对象

示例

我(原本的对象)请了会计(代理对象),会计给我管钱(功能增强),当会计(代理对象)把钱花完了,我(原本的对象)的钱也没了

  1. 代理对象会对原本的对象进行功能增强
  2. 代理对象影响的是实际的对象

ES7新增对应的Proxy的类 来帮助我们代理