[b]可维护性;[/b]
可维护性设计目标
可扩展性extensibility;
加入新模块,不影响原有模块
灵活性flexibility;
修改一个模块,不影响其他模块
可插入性pluggability
可以很容易的去掉一个模块,更换一个模块,加入一个新模块,而不影响其他模块。
[b]可复用性;[/b]
面向对象设计的复用:
数据的抽象化、封装、继承、多态。
复用的焦点集中在含有宏观商业逻辑的抽象层面;而不局限于函数和算法。
对可维护性的支持
可扩展性extensibility;
封装,继承,多态
由开闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用保证
灵活性flexibility;
复用,相对独立,与其他模块松耦合。该模块修改后,不会传递到其他模块。
由开闭原则、迪米特法则、接口隔离原则保证。
可插入性pluggability
复用后,新类替代旧类,容易实现。
由开闭原则、里氏代换原则、组合/聚合服用原则和依赖倒转原则保证。
开闭原则
接口
抽象类
里氏代换原则
依赖倒转原则
接口隔离原则
合成/聚合复用原则
迪米特法则
可维护性设计目标
可扩展性extensibility;
加入新模块,不影响原有模块
灵活性flexibility;
修改一个模块,不影响其他模块
可插入性pluggability
可以很容易的去掉一个模块,更换一个模块,加入一个新模块,而不影响其他模块。
[b]可复用性;[/b]
面向对象设计的复用:
数据的抽象化、封装、继承、多态。
复用的焦点集中在含有宏观商业逻辑的抽象层面;而不局限于函数和算法。
对可维护性的支持
可扩展性extensibility;
封装,继承,多态
由开闭原则、里氏代换原则、依赖倒转原则、组合/聚合复用保证
灵活性flexibility;
复用,相对独立,与其他模块松耦合。该模块修改后,不会传递到其他模块。
由开闭原则、迪米特法则、接口隔离原则保证。
可插入性pluggability
复用后,新类替代旧类,容易实现。
由开闭原则、里氏代换原则、组合/聚合服用原则和依赖倒转原则保证。
开闭原则
接口
抽象类
里氏代换原则
依赖倒转原则
接口隔离原则
合成/聚合复用原则
迪米特法则