Open EmberYu opened 5 years ago
在前端开发中,或多或少你都有接触或者了解过设计模式,其实,所有的设计模式,都是遵循设计原则而出现的,只要你满足了这些原则,那么可能在你不知道的情况下,你就使用了某种设计模式
SPR原则体现为:一个对象(方法)只做一件事
运用: 代理模式、迭代器模式、单例模式、装饰器模式
优点: 降低了单个类或者对象的复杂度,按照职责把对象分解成更小的粒度,这有助于代码的复用,也有利于进行单元测试。当一个职责需要变更的时候,不会影响到其他的职责。
缺点: 增加编写代码的复杂度。当我们按照职责把对象分解成更小的粒度之后,实际上也增大了这些对象之间相互联系的难度
LKP说的是一个软件实体应当尽可能少地与其他实体发生相互作用。这里的软体实体是一个广义的概念,不仅包括对象,还包括系统、类、模块、函数、变量等。
在面向对象的程序设计中,OCP是最重要的一条原则,主要含义是找出变化的代码将他们封闭起来
在前端开发中,或多或少你都有接触或者了解过设计模式,其实,所有的设计模式,都是遵循设计原则而出现的,只要你满足了这些原则,那么可能在你不知道的情况下,你就使用了某种设计模式
单一职责原则
SPR原则体现为:一个对象(方法)只做一件事
运用: 代理模式、迭代器模式、单例模式、装饰器模式
优点: 降低了单个类或者对象的复杂度,按照职责把对象分解成更小的粒度,这有助于代码的复用,也有利于进行单元测试。当一个职责需要变更的时候,不会影响到其他的职责。
缺点: 增加编写代码的复杂度。当我们按照职责把对象分解成更小的粒度之后,实际上也增大了这些对象之间相互联系的难度
最少知识原则
LKP说的是一个软件实体应当尽可能少地与其他实体发生相互作用。这里的软体实体是一个广义的概念,不仅包括对象,还包括系统、类、模块、函数、变量等。
开放-封闭原则
在面向对象的程序设计中,OCP是最重要的一条原则,主要含义是找出变化的代码将他们封闭起来