您的位置:首页 > 其它

软件构造期末总结第五章

2019-06-23 22:23 190 查看

5.1 Metrics, Morphology and External Observations of Reusability
软件复用的两个观点:
(1)面向复用编程:开发出可复用的软件
(2)基于复用编程:利用已有的可复用软件搭建应用系统可复用软件库,对其进行有效的管理
(3)
(4)复用类型:白盒复用和黑盒复用
(5)委托类型
(6)API的好处:
▪易于学习
▪易于使用,即使没有文档
▪难以误用
▪易于阅读和维护使用的代码
▪足够强大以满足要求
▪易于发展
▪适合观众

(7)应用框架
应用框架是包含了接口、抽象类和具体类的可复用程序,使用时需要 在其基础上补充所需要的设计元素。

(8)
通过继承和动态绑定实现可扩展性,通过继承框架基类并重写预定义的钩子方法来扩展 现有功能 。
通过定义符合特定接口的组件来重用现有功能,这些组件通过委托与框架集成。

5.2 Construction for Reuse
(1)多态
多态性是指为不同类型的实体提供一个接口,或者使 用一个符号来表示多个不同的类型。
一个函数可以 有多个同名的实现(方法重载) ;
一个类型名字可 以代表多个类型(泛型编程)
一个变量名字可以代表多个类的实例( 子类型)
(2)设计可复用的类——LSP
Covariant(协变): 保持子类型关系 –
Contravariant(逆变):反转了子类型关系
Invariant(不变): 没有子类型关系

5.3 Design Patterns for Reus
(1)适配器模式
意图:将类的接口转换为客户端期望的另一个接口 ,解决类之间接口不兼容的问题 ,为已有的类提供新的接口
目标:对旧的不兼容组件进行包装,在新系统中使用旧 的组件
(2)修饰器模式
接口:定义装饰物执行的公共操作
起始对象,在其基础上增加功能(装饰),将通用的方法放 到此对象中。
(3)外观模式
调用者需要一个简化的接口 来调用复杂系统的整体功能。
提供更高层次的接口来使子系统易于使用。

(4)策略模式
针对特定任务存在多种算法,调用者需要根据上下文环境动 态的选择和切换。
定义一个算法的 接口,每个算法用一个类来实现,客户端针对接口编写程序。
(5)模板方法模式
不同的客户端具有相同的算法步骤 ,但是每个步骤的具体实现不同。
在父类中定义通用逻辑和各步骤的抽象方法声明,子类中进行各步骤的具体实现
(6)迭代器模式
一种面向迭代的策略模式
隐藏了容器的内部实现
用统一的接口支持多种遍历策略

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: