设计原则


一、职责单一原则

二、里氏替换原则

三、接口隔离原则

四、依赖倒置原则

五、迪米特法则

六、组合\聚合复用原则

七、开闭原则



一、职责单一原则(SRP:Single responsibility principle)

    定义:不要存在多于一个导致类变更的原因。俗的说,即一个类只负责一项职责。

    问题由来:T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。也就是说职责P1和P2被耦合在了一起。

    产生原因没有任何的程序设计人员不清楚应该写出高内聚低耦合的程序,但是很多耦合常常发生在不经意之间,  其原因就是:职责扩散:因为某种原因,某一职责被分化为颗粒度更细的多个职责了

   解决办法遵守单一职责原则,将不同的职责封装到不同的类或模块中。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险。


二、里氏替换原则(LSP:Liskov Substitution Principle)

   定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。

  定义2:所有引用基类的地方必须能透明地使用其子类的对象。

三、接口隔离原则(ISP:Interface Segregation Principle)

四、依赖倒置原则

五、迪米特法则

六、组合\聚合复用原则

七、开闭原则




你可能感兴趣的:(设计原则)