软件设计原则

  1. 开闭原则 OCP(Open-Closed Principle): 对扩展开放,对修改关闭. 抽象和接口是关键.
  2. 里氏代换原则 LSP(Liskov Substitution Principle):  如果对于每一个类型为T1的对象o1,都有类型为T2的对象o2, 使得以T1定义的所有程序P在所有对象o1都代换为o2时, 程序P的行为没有变化, 那么类型T2是类型T1的子类型。反过来代换不成立
  3. 依赖倒转原则DIP(Dependence Inversion Principle): 第一种表述是,抽象不应当依赖与细节,细节应当依赖与抽象;第二中表述是,要针对抽象和接口编程,不要针对实现编程。
  4. 接口隔离原则ISP(Interface Segregation Principle): 使用多个专门的接口比使用一个单一的总接口要好。 
  5. 合成/聚合复用原则CARP(Composite/Aggregate Resue Principle): 在一个新对象里面使用一些已经有的对象,使之成为新对象的一部分;新的对象通过向这些对象委派达到复用已有功能的一部分。这个设计原则的另一种表述是:要尽量使用合成/聚合,而不要使用继承。
  6. 迪米特法则LoD(Law of Demeter): 又叫做最少知识原则,就是说一个对象应该尽量少的知道另一个对象。它的两外几种表述: 只与你直接的朋友通信;不要跟陌生人说话。

 

    另外:好莱坞原则--you do not call me , i will call you !

 

 

你可能感兴趣的:(编程)