天天看点

设计模式学习笔记:六大原则

单一职责里氏替换依赖倒置接口隔离迪米特法则开闭

设计模式有六大法则(SOLID原则)。

1、单一职责(S,Single Responsibility Principle)

这好理解,每个类只干一样事情

2、开闭原则(O,Open Closed Principle)

对扩展开放,修改闭合。

怎么那么像里氏替换?但里氏替换说的是父子类,开闭原则说的是:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

3、里氏替换(L,Liskov Substitution Principle)

所有引用基类的地方必须能透明地使用其子类的对象

子类可以扩展父类的功能,但不要修改父类的功能。意为:

1)子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法

2)子类可以增加自己的方法

3)子类重载父类方法时,输入参数应该比父类宽松

4)子类实现父类方法时,返回值应该比父类严格

4、迪米特法则(L,Law of Demeter)

又叫最少知道原则。尽量少引用其他对象,以减少类之间的耦合。但凡事都有度。

5、接口隔离(I,Interface Segregation Principle)

接口粒度最小化。

类不要实现它不需要的接口

6、依赖倒置(D,Dependence Inversion Principle)

面向接口编程

1)上层模块不应该依赖底层模块,它们都应该依赖于抽象。

2)抽象不应该依赖于细节,细节应该依赖于抽象。

总结:

单一职责原则告诉我们实现类要职责单一;

里氏替换原则告诉我们不要破坏继承体系;

依赖倒置原则告诉我们要面向接口编程;

接口隔离原则告诉我们在设计接口的时候要精简单一;

迪米特法则告诉我们要降低耦合。

而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。

继续阅读