6大设计原则

单一职责原则

一个类只负责一项职责

里式替换原则

子类能够替换父类对象,而程序逻辑不变

  • 如果逻辑不一致就另外加个方法
  • 如果要多态,就将父类该方法改为抽象

总结:尽量不要从可实例化的父类中继承,而是要适用基于抽象类和接口的继承

依赖倒置原则

高层模块不应该依赖低层模块,二者都应该依赖其抽象

例子,人读书,传入书的实现,有一天需求变动,读报纸,不应该不断修改人这个类,可以开放人读读物的接口,书和报纸都实现读物接口

接口隔离原则

客户端不应该依赖它不需要的接口,一个类对于另外一个类的依赖应该建立在最小接口上

迪米特法则

一个对象应该对其它对象保持最少的了解

例子,父子公司,现要获取公司所有人的编号,4个对象,父公司,子公司,父员工,子员工,父公司可直接通过子公司打印员工编号,而不需要知道子员工具体信息

开闭原则

一个软件实体如类、模块、函数应该对扩展开放,对修改关闭