|
|
@ -16,3 +16,25 @@ |
|
|
|
|
|
|
|
|
|
|
|
#### 六大设计原则 |
|
|
|
#### 六大设计原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
六大设计原则分别是单一职责原则、开闭原则、里式替换原则、接口隔离原则、依赖反转原则及迪米特原则。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 单一职责原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
单一职责原则意思是一个类只做一件事。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 开闭原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
开闭原则是指对扩展开放,对修改关闭。具象来说,就是添加一个新的功能时,优先考虑在已有代码的基础上扩展代码,而非修改已有代码,这也要求我们要能写出扩展性好的代码。对扩展开放是为了应对变化(需求),对修改关闭是为了保证已有代码的稳定性,最终结果是为了让系统更有弹性。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 里式替换原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
里式替换原则是指子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变以及正确性不会被破坏。听起来有点运行时多态的味道,但是里式替换作为一种设计原则,是用来指导继承关系中子类该如何设计的,子类的设计要保证在替换父类的时候,不改变原有程序的逻辑以及不破坏原有程序的正确性。一些常见的违背里式替换原则的例子有,子类的方法重写违背了父类声明要实现的功能、子类违背父类对输入/输出/异常的约定、子类违背父类注释中所罗列的任何特殊说明等。简单来说,就是子完美继承了父类的设计初衷,并做了增强。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 接口隔离原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
接口隔离原则是指客户端不应该依赖于它不需要的接口。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##### 依赖反转原则 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|