设计模式与开发实践系列

haiweilian2021-01-10前端JavaScriptDesignPattern

设计模式相关的总结和例子,学习资料。

JavaScript 设计模式与开发实践open in new window

设计模式定义

设计模式的定义

在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案;也就是⼀套被反复使⽤、多数⼈知晓的、经过分类的、代码设计经验的总结。

分辨模式的关键是意图而不是结构

有很多模式的类图和结构确实很相似,但这不太重要,辨别模式的关键是这个模式出现的场景,以及为我们解决了什么问题。

设计模式原则

单一职责原则(SRP)

一个对象或方法只做一件事情。

就一个类而言,应该仅有一个引起它变化的原因。每个职责都是变化的一个轴线,如果一个方法承担了过多的职责,那么在需求的变迁过程中,需要改写这个方法的可能性就越大。

最少知识原则(LKP)

一个软件实体应当 尽可能少地与其他实体发生相互作用。这里的软件实体是一个广义的概念,不仅包括对象,还包括类、模块、函数、变量等。

最少知识原则要求我们在设计程序时,应当尽量减少对象之间的交互。如果两个对象之间不必彼此直接通信,那么这两个对象就不要发生直接的相互联系,可以转交给第三方进行处理。

开放-封闭原则(OCP)

软件实体(类、模块、函数)等应该是可以 扩展的,但是不可修改。

当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式,尽量避免改动程序的源代码。

设计模式类型

最后更新时间 11/8/2023, 10:03:21 AM