设计模式之软件的可维护性和可复用性
通常认为,一个易于维护的系统,就是一个复用率较高的系统;而一个复用性很好的系统,就是一个易于维护的系统。
但实际上,可维护性和可复用性是两个独立的目标。
导致一个软件设计的可维护性较低的真正原因有四个:
- 过于僵硬:很难在一个软件系统中添加新的功能,因为新功能的加入会涉及多个模块的修改。
- 过于脆弱:与软件过于僵硬同事存在的,是软件系统在修改已有代码时过于脆弱,对一个地方的修改,往往会导致看上去没有什么关系的另一个地方发生故障。
- 复用率低:当程序员发现一段代码、函数、模块所做的事情可以在新的模块、或者新的系统中使用的时候,他们总是发现,这些已有的代码依赖于一大堆的其他的东西,以至于很难将他们分开。他们可能选择不去碰这些代码,也可能以最原始的复制去复用。
- 黏度过高:一个系统设计,总是 破坏原始设计意图和设计框架 比 遵守原始设计意图和设计框架 容易,就叫黏度过高。
一个好的系统设计应该有如下的性质:可扩展性、灵活性、可插入性。这三条性质就是一个系统设计的目标。
复用的重要性
1.具有较高的生产效率
2.具有较高的软件质量
3.恰当使用复用可以提高系统的可维护性
百流积聚,江河是也;文若化风,可以砾石。