可修改性指系统或者软件能够快速的以较高的性价比对系统进行变更的能力,可修改性战术的目标是控制实现、测试和部署变化的时间的成本。就比如说《大型网站技术架构:核心原理与案例分析》一书中所提到的数据库表的设计,学生的课程各不相同,所选的也不相同,但是即使设计了许多冗余字段也不能确保一定够用,所以引入了可以直接声明的纵列,这就提现了其是否具备可修改性。
可修改性是对于应用的架构所作的修改的容易程度。可修改性能够被进一步分解为在下面所描述的可进化性、可扩展性、可定制性、可配置性和可重用性。基于网络的系统的一个特殊的关注点是动态的可修改性,它要求在对一个已部署的应用做修改时,无需停止和重新启动整个系统。即使有可能建造一个完美地匹配用户需求的软件系统,那些需求也会随时间发生变化,就像社会的变化一样。
其中用户的需求是引起可修改性的重要原因,同样系统的内在需求也是引起可修改性的原因。淘宝初期用Mysql数据库,但是由于访问人数的不断增多,Mysql已经支撑不起庞大的用户群体,所以淘宝只能对自身的数据库体系架构不断进行更新和修缮。
在新的组件插入旧组件的时候要与旧组件实现共存,而且旧组件也不能影响新组建的扩展性。