第五章--第一节:度量、形态学和可复用性的外部观察
第五章:面向软件构造的可复用性的构建方法
第一节:度量、形态学和可复用性的外部观察
问题一:可复用性实现的级别
1.源代码级别的复用
方法:从网上搜索源代码
2.模块级别的复用:类/抽象类/接口
方法:继承(类复用的方法)、委托
3.库级别的复用:API/包
方法:Libaray、framework
library:开发者构造可运行软件实体,其中涉及到对可复用库的调用。
framework:作为主程序加以执行,执行过程中调用开发者所写的程序。
4.系统级别的复用:框架(framework)
框架:一组具体类、抽象类、及其之间的连接关系
方法:开发者根据framework的规约,填充自己的代码进去,形成完整系统。
领域复用:开发者:增加新代码、对抽象类进行具体化
问题二:可复用性的两个方面
- 面向复用编程(programming for reuse):开发出可复用的软件(过程:抽取共性->识别差异->设计继承树)
- 基于复用编程((programming with reuse):利用已有的可复用软件搭建应用系统(过程:搜索->选择->适配)
问题三:代码复用的类型
1.白盒复用:源代码可见,可修改和扩展
含义:复制已有代码到正在开发的系统,进行修改(优点:可订制化程度高;缺点:对其修改增加了软件的复杂度,且需要对其内部充分的了解)
2.黑盒复用:源代码不可见,不能修改
含义:只能通过过API接口来使用,无法修改代码(优点:简单,清晰;缺点:适应性差些)