1.开闭原则:
对扩展开发,对修改关闭
2.里氏替换原则
继承必须确保超类所拥有的性质在子类中仍然成立
3.依赖倒置原则
面向接口编程,不要面向实现编程
4.单一职责原则
控制类的粒度大小、将对象解耦、提高其内聚性
5.接口隔离原则
要为各个类建立它们需要的专用接口
6.迪米特法则
降低耦合度
只与你的直接朋友交谈,不跟‘陌生人’说话
假设A要给C 一个东西 但他们是陌生人所以就要先给b朋友,b在给c朋友
7.合成复用原则
尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系
‘is a’ 和 ‘hava a’