软件构造期末总结第五章

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)迭代器模式
一种面向迭代的策略模式
隐藏了容器的内部实现
用统一的接口支持多种遍历策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值