一、单一职责原则
类、函数、接口 的职责单一
二、开闭原则
修改关闭,扩展开放
三、里氏替换原则:
基类和子类之间的关系,基类可以被子类替代
四、依赖倒置原则
依赖抽象接口,而不是具体对象
五、接口隔离原则
不对外暴露无用接口,接口按照功能细分
六、迪米特法则
一个对象尽量与其他对象少的交互,类间解耦,弱耦合,使得功能模块相对独立
七、合成复用原则
尽量使用组合和聚合(关联关系)代替继承来实现
因为:
1.继承复用破坏了类的封装性,父类的方法会暴露给子类
2.父类和子类耦合度高,父类的实现变化会影响子类,不利于类的扩展和维护