单一职责原则(SRP)

一个类应该只有一个发生变化的原因。 使用接口、类替代if-else多层判断。

例如VIP会员、普通用户、访客用户,这些用户都可以访问浏览视频。

VIP用户:4K;普通用户:1080P;访客用户:480P

如果我们使用if判断,后续再进行改造内容的就不方便,只能继续将所有逻辑都写入一个类中,我们可以抽象通用方法,每个用户类都需要实现这个接口,可以在自己的类中实现判断逻辑,而不用耦合到一起。

开闭原则

扩展开发,修改封闭。

例如:计算圆的面积,其中π可能一开始定义了3.14,没问题,但是后续需要更加精确的数值,我们不修改源代码的基础上,可以使用一个类来继承这个已有的类,只需要重写π,以及计算的逻辑即可。

里氏替换原则

兼容性、维护性、扩展性。必须要确保超类所有的性质在子类中依然成立。