在软件工程的研究和发展的过程中,折腾出了许多概念和思想。对软件工程师而言,越来越有用的工具是不断发展的设计模式集。因为设计模式(design pattern是用来解决软件设计过程中反复出现的问题的一种预先开发的方法,是对大家实际工作中写的各种代码进行高层次抽象的总结。 设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式
- 创建型(5种):顾名思义就是用来创建对象的
- 单例模式
- 原型模式
- 工厂模式
- 抽象工厂模式
- 建造者模式
- 结构型 (7种):介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。结构型模式把一个个对象结合在一起,就像积木搭建起来一样,有一种结构化的感觉
- 适配器模式
- 装饰器模式
- 代理模式
- 外观模式
- 桥接模式
- 组合模式
- 享元模式
- 行为型 (11种):行为型模式关注的是各个类之间的相互作用,将职责划分清楚,使得我们的代码更加地清晰
- 观察者模式
- 迭代器模式
- 策略模式
- 模板方法模式
- 职责链模式
- 命令模式
- 备忘录模式
- 状态模式
- 访问者模式
- 中介者模式
- 解释器模式
- 贯穿在设计模式中的设计原则:
- 面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步。
- 职责单一原则。每个类都应该只有一个单一的功能,并且该功能应该由这个类完全封装起来。
- 对修改关闭,对扩展开放。对修改关闭是说,辛辛苦苦写出来的代码,该实现的功能和该修复的
- bug 都完成了,可不能说改就改;对扩展开放就比较好理解了,也就是说在我们写好的代码基础上,很容易实现扩展。
前端常用的有装饰器模式等等。合理运用设计模式可以让代码变得更加简洁高效。