单一职责原则SRP
当设计封装一个类时,这个类应该只负责一件事。如果向一个类中不断加入功能,会使接口过于复杂,整个项目过于依赖这个类,使整个项目或类失去弹性,所以我们要在开发时将功能分好类,实现单一职责原则。
开闭原则OCP
一个类应该对扩展开放,对修改关闭。当我们增加功能时,应该以增加继承子类的方式增加接口功能,而不修改原有的类。这就要求我们开发的时候要实现类功能抽象为接口。
里氏替换原则LSP
这个原则指的是子类必须可以替换父亲,用户在使用的时候,不能使用强制对象转型为子类,客户端也不应该知道对象是由哪一个子类替换的父亲。这就要求我们开发时父类要包含子类重写的方法。
依赖倒置原则DIP
这个原则讲的是高层模块和低层模块都要依赖于中间的抽象模块。降低耦合度,这样高层或低层模块缺失功能并不会影响彼此,都交由抽象类反馈到客户端。
最少知识原则LKP
一个类应该越少用到其他类提供的功能越好。这样可以降低类之间的耦合度,依赖度,换个角度就是增加了类的重用性。
多用组合少用继承原则
在我们增加功能时,很好的方法是增加新的子类,这个子类有重写父类方法的必要,但有时我们不需要父类的有些功能,这样就显得多余了,我们新建一个类,类中添加一个原来父类属性,一定程度上降低了耦合度,组合也比继承更容易维护。