面向对象设计原则

设计目的单一的类, 职责单一! 不是功能单一, 也就是某个类负责一方面的任务人不是单单一个功能, 否则就违反了"高内聚".

开放-封闭原则

对扩展开放, 对修改封闭. 不修改不会不会出问题? 对于经过测试的代码如果没哟屋恩替是不提倡修改的, 修改过后要进行回归测试.

里氏(Liskov)替换原则

子类可以代替父类, 父类可以接收子类. 通常在子类中不提倡重写父类的方法, 因为在把子类当做父类(子类泛化)是可能不了解子类的方法构造从而造成意想不到的错误.

依赖倒置原则

要依赖抽象, 而不是具体实现; 依赖接口编程, 而不是针对实现编程.

接口隔离原则

使用多个专门的接口比单一的总接口好.

组合重用原则

要尽量使用组合, 而不是继承关系达到重用. 子类继承父类也是依赖于父类, 依赖就是继承父类的方法和属性.

迪米特(Demeter)原则

一个对象应该尽可能少的了解(依赖)其他对象. 依赖就会增加耦合, 耦合增加了模块的独立性就变差了!