第五章--第一节:度量、形态学和可复用性的外部观察

第五章:面向软件构造的可复用性的构建方法

第一节:度量、形态学和可复用性的外部观察


问题一:可复用性实现的级别

 1.源代码级别的复用

    方法:从网上搜索源代码

2.模块级别的复用:类/抽象类/接口

    方法:继承(类复用的方法)、委托

3.库级别的复用:API/包

    方法:Libaray、framework

    library:开发者构造可运行软件实体,其中涉及到对可复用库的调用。

    framework:作为主程序加以执行,执行过程中调用开发者所写的程序。

4.系统级别的复用:框架(framework)

    框架:一组具体类、抽象类、及其之间的连接关系

    方法:开发者根据framework的规约,填充自己的代码进去,形成完整系统。

第五章--第一节:度量、形态学和可复用性的外部观察

第五章--第一节:度量、形态学和可复用性的外部观察


    领域复用:开发者:增加新代码、对抽象类进行具体化

问题二:可复用性的两个方面

  • 面向复用编程(programming for reuse):开发出可复用的软件(过程:抽取共性->识别差异->设计继承树)
  • 基于复用编程((programming with reuse):利用已有的可复用软件搭建应用系统(过程:搜索->选择->适配) 

问题三:代码复用的类型

    1.白盒复用:源代码可见,可修改和扩展

        含义:复制已有代码到正在开发的系统,进行修改(优点:可订制化程度高;缺点:对其修改增加了软件的复杂度,且需要对其内部充分的了解)

    2.黑盒复用:源代码不可见,不能修改

        含义:只能通过过API接口来使用,无法修改代码(优点:简单,清晰;缺点:适应性差些)