前言
软件工程中,设计模式(Design Pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
一、设计模式的原则
面向对象编程和面向对象设计的五个基本原则:
- 单一功能原则(Single Responsibility Principle)
- 开放封闭原则(Opened Closed Principle)
- 里式替换原则(Liskov Substitution Principle)
- 接口隔离原则(Interface Segregation Principle)
- 依赖反转原则(Dependency Inversion Principle)
因为JS本身的特点,主要围绕前两个原则展开
二、设计模式的核心思想——封装变化
设计模式的出现,最主要的原因是因为软件在不停的更新迭代中,不断地产生变化
在开发过程中我们不能保证代码不会发生变化,我们能做的就是将影响降到最低,做到:
**将变化的部分与不变的部分抽离,保证变化的部分灵活,不变的部分稳定**
。这称为“封装”
我们不仅要考虑功能的实现,还要考虑其可维护性和可拓展性,不能经得起变化的考研的软件终不能长久。
三、二十三种设计模式
二十三种设计模式可分为三大类分别是:
- 创建型
- 单例模式
- 原型模式
- 构造器模式
- 工厂模式
- 抽象工厂模式
- 结构型
- 桥接模式
- 外观模式
- 组合模式
- 装饰器模式
- 适配器模式
- 代理模式
- 享元模式
- 行为型
- 迭代器模式
- 解释器模式
- 观察和模式
- 中介者模式
- 访问者模式
- 状态模式
- 备忘录模式
- 策略模式
- 模板方法模式
- 职责链模式
- 命令模式
每一种类型的设计模式都离不开
封装变化
只是用了自己的方式去封装不同类型的变化
- 创建型:封装了创建对象过程中的变化
- 结构型:封装了对象之间组合方式的变化,灵活的表达了对象间的配合与依赖关系
- 行为型:封装的是对象的行为进行,让我们更安全、方便的对行为进行更改
看似设计模式与我们很远,其实它就在我们身边,可能我们用到,但不知道这个思想就是,某种设计模式的思想。
总结
以上记录了设计模式的核心思想,以及原则,简单的介绍了三大类设计模式的作用。