首页 > 代码库 > 00_设计模式6大原则

00_设计模式6大原则

【六大原则总览】

1.单一职责原则

2.里氏替换原则

3.依赖导致原则

4.接口隔离原则

5.迪米特法则

6.开闭原则

 

【原则一:单一职责原则】

  英文全称:Single Responsibility Principle,简称SRP。

  要求一个接口或类只有一个原因引起变化,就是一个接口或类只有一个原则,它就负责一件事情。

[ 好处 ] 

* 类的复杂性降低,实现什么职责都有清晰明确的定义;

* 可读性提高,复杂性降低。

* 可维护性提高。

* 变更引起的风险降低。如果接口的定义职责做的很好,一个接口修改只对相应的实现类有影响,对其它接口没有影响,这对系统的扩展性和可维护性非常大的帮助。

 

 

【原则二:里氏替换原则】

首先分析一下继承的优点缺点;

[ 继承的优点 ]

* 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。

* 提高了代码的重用性。

* 子类可以形似父类,但又异于父类。

* 提高代码的扩展性,许多开源框架的扩展接口都是通过继承父类来完成的。

* 提高产品或项目的开放性。

[ 继承的缺点 ]

* 继承是侵入性的。只要继承,子类就必须拥有父类的所有属性和方法。

* 降低代码的灵活性,子类必须拥有父类的属性和方法,给子类添加了约束。

* 增强了代码的耦合性,当父类的常量、变量或方法修改时,就要考虑子类的修改。

[ 里氏替换原则的定义 ]

只要父类能出现的地方,子类就可以穿线,而且替换给子类就不会出现任何的错误或异常,使用者不需要知道是子类还是父类,但是反过来是不可以的,有子类出现的地方,父类未必就可以。

 

00_设计模式6大原则