什么标准才能判断一个软件是良好的软件呢?
1、软件本身需要较为灵活
2、软件能够有效的支持拓展
3、软件具有可插入的特性。
基于这三个特点下的软件,可以有效的拥抱需求变化带来的软件变更。
软件需求变更一般需要怎么处理呢?
1、了解当前系统
2、判断如何更改
3、判断更改后的影响,特别是对整个系统的影响。
为什么需要引入设计呢?
主要是想让系统方便拓展,维护,易于理解和复用。
通过天气模块采集显示的例子,介绍了适配器模式,观察者模式:
有一天气模块可以通过传感器监测温度,湿度等参数,然后可以试试反馈的模块,最终在显示屏现实。
要求:
1、可以支持多个显示屏
2、显示屏可以为多个厂家
3、可以支持参数拓展
4、可以支持厂家升级
处理:
1、将需要显示的显示屏实例分别注册到数据subject实例上
2、显示屏实例在调用适配器实例
3、由适配器负责调用具体的厂家实现类。
开始在设计时,才有的是观察者和策略模式结合来处理。
如何维护老系统呢?
首先的基本原则,维护不能破坏原有的兼容性和架构,不能增加可扩展的难度,不能导致系统变坏。
1、需要尽可能隔离修改
2、修改要适当拓展
3、修改需要影响小
4、修改要兼容原有系统
5、不硬塞代码
对于修改老系统需要注意方案:
1、添加新函数
2、派生
3、通过如装饰器等模式使用
等等有效的维护和开发新需求,同时又可以不会影响到原有的系统。
为什么需要设计呢?设计不只是可以让开发更加专业,也让软件生命力更强。