image.png

SRP(单一原则)

一个对象(方法)只做一件事,例如:代理模式、迭代器模式、单列模式、装饰者模式, 何时应该分离职责, 也是最难正确应用的地方!

SRP优点

  • 降低了单个类或者对象的复杂度, 按照职责吧对象分解成更小的粒度
  • 利于代码复用和进行单元测试

    缺点

  • 增加编写代码的复杂度

    LKP (最少知识原则)

    最少知识原则也叫迪米特法则、最少知识原则说的是: 一个软件实体尽可能少的与其他实体发生相互作用! 对象之间互相依赖可能会产生错综复杂的联系、如果修改了其中一个对象、很有可能影响到他互相引用的对象, 对象与对象耦合在一起、有可能降低他们的复用性, 软件实体是一个广义的概念、不仅包含对象、还包括系统、类、模块、函数、变量等! 最少知识原则体现最多的地方是: 中介者模式、外观模式