【设计模式】设计原则

2022/12/27 16:38:22

设计原则和编程技巧

单一职责原则(SRP)

就一个类而言,应该仅有一个引起它变化的原因。

JavaScript 中,更多的体现在方法和对象上,具体说就是:一个方法只做一件事情。

如果一个方法承担了过多的职责,那么在需求的变迁过程中,需要改写这个方法的可能性就越大。

最少知识原则(LKP)/迪米特法则(LoD)

软件实体应当尽可能少地与其他实体发生互相作用。

方法、对象之间依赖越少越好。

中介者模式就是 LKP 原则的体现。

开放-封闭原则(OCP)

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

当代码中出现大量的 if-else 或 switch-case 语句时,应该在第一时间考虑能否利用对象的多态性来重构它们。

出现大量分支时,如果有需求变更就必须去理解原有分支并且在分支上修改,这就违背了 OCP 原则。

参考

《JavaScript 设计模式与开发实践》