如何用C#实现依赖注入?
四.品味重构和可维护性
软件的可维护性就是软件的再生,因此系统设计的另一个基本之“道”就是可维护性。主要包括这几个方面:可扩展性,灵活性,可插入性。可扩展性是说新的功能很容易集成到现有的系统中去,而不影响到系统的其他模块。灵活性是说允许代码修改平稳的发生,当修改一处时不至于影响到另一处,这样可以缩小维护的代价。可插入性是说容易用一个类替换已经存在的类,只要接口一致,更改实现类不影响类的使用者。
可维护性能通过延长系统的使用寿命,来增值软件产品的价值。因此在软件生命周期中,对于较大的项目以及版本需要不断升级的产品,可维护性就变得相当重要。可维护性依靠扩展性,扩展性来自对变化的适应力,而不是对变化的预先判断。
说到软件设计的可维护性,就不得不提重构。重构的重要性要从软件的生命周期说起,通常来说对软件的生命造成威胁的因素只有一个:需求的变更。当软件要适应需求变化的时候,就产生了一种糟糕的现象:软件产品最初是经过精心的设计,具有良好架构的。但是随着时间的发展、需求的变化,必须不断的修改原有的功能、追加新的功能,还免不了有一些缺陷需要修改。为了实现变更,不可避免的要违反最初的设计构架。经过一段时间以后,软件的架构就千疮百孔了。bug越来越多,越来越难维护,新的需求越来越难实现,软件的构架对新的需求渐渐的失去支持能力,而成为一种制约。
重构能够最大限度的避免这样的现象出现,它能在不改变系统的外部功能下,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,从而使系统对于需求的变更始终具有较强的适应能力。
结束语
遵守软件设计之“道”是达到优秀软件设计目标的通道。设计模式是这个目标的一种表现方式。简单说高复用的软件一定是高扩展的,高扩展的一定具有高内聚、低耦合的特点。因此遵守设计原则的软件就具有高内聚,低耦合的设计特点,也就是可维护,高扩展,高复用的设计。
0
相关文章