1,单一职责原则:对于一个类,应该只有一个引起它变化的原因;
2,里氏代换原则:子类必须能够替换掉用它们的父类型;
3,开放-封闭原则:程序的实体对象(模块、类、函数等)应该可以进行扩展,但不应该可以修改;
1),开放封闭原则的两个特性:
a),对于扩展是开放的;
b),对于修改是封闭的;
2),实现开放-封闭的核心思想:
面相抽象编程,而不是面向具体编程。
4,依赖倒转原则:程序的高层模块不应该依赖于低层模块,但两者都应依赖于抽象;抽象应不应该依赖于具体细节,而细节应该依赖于抽象;
表达的意思就是面向对象应该针对接口编程,而不是针对实现编程;
5,合成/聚合复用原则:尽量不要使用类继承,而尽量使用合成/聚合;
6,迪米特法则:如果两个类之间不必直接通信,则这两个类不应该发生直接的相互作用。日过其中一个类需要调用另一个类中的某一个方法,可以通过第三方来转发这个调用;
迪米特法则思想:强调类之间需要尽量多实现松散耦合。类之间的耦合越弱,越有利于利用复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及,反之则会导致很多麻烦。