1.单一职责原则
定义:不要存在多余一个导致类变更的原因
理解:一个类只负责一项职责
2.开闭原则
定义:一个软件实体 如类、模块和函数应该对扩展开发,对修改关闭
理解:对于扩展开放,对于更改封闭
3.里氏替换原则
定义:子类型必须能够替换掉它们的父类型
理解:子类可以扩展父类的功能,但不能改变父类原有的功能
1) 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法
2) 子类中可以增加自己特有的方法
3) 子类重载父类的方法时,形参比父类更宽松<子类能做事的范围要宽与父类>
4) 子类实现父类的抽象方法时,返回值比父类严格
4.依赖倒置原则
理解:面向接口编程,不要针对实现编程
5.接口隔离原则
理解:建立单一的接口,不要建立庞大臃肿的接口,尽量喜欢接口,接口中的方法尽量少
6.迪米特原则
理解:一个对象应该对其他对象保持最少的了解
7.组合/聚合复用原则
理解:如果只是达到代码复用的目的,尽量使用组合与聚合,而不是继承