修改顾名思义就是修改软件的内容,可修改性,就是通过修改花费的时间,金钱,人力等数据衡量修改是否足够简单方便低成本。可修改性越高,每次修改所花费的人力物力成本也就越低
提高方法:主要分为两大类:1.限制修改范围;2.延迟绑定时间
一、限制修改范围:让修改所影响的软件范围尽可能小,具体方法有:
1.高内聚低耦合,让软件模块化,每次只修改一个模块。通过尽可能地借助中间件可以达到这个效果
2.预先考虑到可能的修改
3.让模块通用,这样修改时不需要修改许多模块,只需要修改通用的模块
4.隐藏信息,借助面向对象中隐藏信息的思想,让外界访问修改程序只能通过特定的接口
5.保持接口不变,否则修改一个模块之后要再去修改与这个模块通过该接口交互的模块
6.限制通信路径
7.使用中介,使得接口改变后依然不用修改其他模块的接口
8.命名服务器
9.按需创建实例
二、延迟绑定时间:让软件在运行期间可以维护修改,方法有:
1.配置文件,让系统每次运行都根据配置文件改变状态,这样就可以避免直接修改代码
2.发布订阅模式
3.多态,用不同的子类实现不同的功能