1. 单一职责原则

    职责明确、单一,有且仅有一个原因引起类的改变。

  2. 里氏替换原则

    父类出现的地方,子类也可以出现,子类无论是重载(Overload)还是重构(Override)父类方法,应该满足返回值缩小,参数放大。

  3. 依赖倒置原则

    依赖抽象而非实现,无论实现细节如何改变,只要所依赖的抽象不变,就不会导致大量改动。

  4. 接口隔离原则

    接口不要太臃肿,只暴露需要的接口。接口拆分必须满足单一职责原则(类似事务的原子性,即对于某个接口,虽然有些臃肿,但已是最小职责,则不可拆分)

  5. 迪米特法则

    又叫:最少知识原则,即每个类对其它类知道的越少越好,之和朋友类交流,以此降低类之间的耦合度。类在暴露方法时也不要太细化,只暴露某个行为,而具体实现是类内部事务。另外不要出现类似:A.getB().getC().doSomething()的调用。

  6. 开闭原则

    对扩展开放,对修改关闭。功能或者业务规则的改变,应该增加新的实现,而非修改现有代码。