1.开闭原则

  面向对象的可复用设计的第一块基石就是"开-闭"原则(open-closed principle)

  一个软件实体应当对扩展开放,对修改关闭. 抽象化是实现开闭原则的关键,感觉面向接口编程是很好的遵循了这种原则.

 

  2. 里氏代换原则(Liskov Substitution Principle LSP)

      任何基类可以出现的地方,子类一定可以出现.

    

3. 依赖倒转原则

     要依赖抽象,不要依赖实现。

4. 合成/聚合复用原则

    尽量使用合成,而不是继承关系达到复用目的

 

5. 迪米特法则

    一个软件实体应当与尽可能少的其他实体发生互相作用。

6. 接口隔离原则

    应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口。