设计原则
imengtu
我想要能做我自己的自由,和敢做我自己的胆量!
展开
-
SOLID--ISP(接口隔离原则)
如何理解“接口隔离原则”理解“接口隔离原则”的重点是理解其中的“接口”二字。有三种不同的理解。1.把“接口”理解为一组接口集合,可以是某个微服务的接口,也可以是某个类库的的接口等。如果部分接口只被部分调用者使用,我们就需要将这部分接口隔离出来,单独给这部分调用者使用,而不强迫其他调用者也依赖这部分不会用到的接口。2.把“接口”理解为单个API接口或函数,部分调用者只需要函数中的部分功能...原创 2020-01-21 16:28:23 · 166 阅读 · 0 评论 -
SOLID--LSP(里氏替换原则)
里氏替换原则是用来指导,继承关系中子类该如何设计的一个原则。理解里氏替换原则,最核心的就是理解“design by contract,按照协议来设计”这几个字。父类定义了函数的“约定”(或者叫做协议),那子类可以改变函数的内部实现逻辑,但不能改变函数原有的“约定”。这里的约定包括:函数声明要实现的功能;对输入、输出、异常的约定;甚至包括注释中所罗列的任何特殊说明。理解这个原则,我们还要...原创 2020-01-21 14:52:33 · 154 阅读 · 0 评论 -
SOLID--OCP(开闭原则)
如何理解“对扩展开放,对修改关闭”添加一个新功能,应该是在已有代码的基础上扩展代码(新增模块、类、方法、属性等),而不是修改已有代码的方式来完成。关于定义,有两点需要注意。第一,开闭原则并不是说完全杜绝修改,而是以最小的修改代码的代价来完成新功能的开发。第二,同样的代码改动,在粗代码粒度下,可能被认定为“修改”;在细代码粒度下,可能被认定为“扩展”。如何做到“对扩展开放,对修改关闭...原创 2020-01-21 12:01:10 · 182 阅读 · 0 评论 -
SOLID--SRP(单一职责原则)
- 如何理解单一职责原则一个类或模块只负责完成一个职责或功能,不要设计大而全的类,要设计粒度较小、功能单一的类。单一职责原则是为了实现实现程序代码的高内聚、低耦合,提高代码的可维护性、可读性以及复用性。- 如何判断类的职责是否单一对于不同的应用场景,需要分别判断,不可一概而论。以第三者的角度来观察类的设计是否既满足需求,又实现简洁,没有冗余。- 是否类的职责越单一越好并非类的职责越单一...原创 2019-12-17 18:13:32 · 176 阅读 · 0 评论