5.1可复用性的度量、形态与外部表现

5.1 Metrics, Morphology and External Observations of Reusability:

可复用性的度量、形态与外部表现

 

 

 

1. 什么是软件的可复用性

2. 怎样衡量可复用性

3. 可复用组件的等级和形态

--源代码级别的复用

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

--库级别的复用:API/包

--系统级别的复用:框架

4.External observations of reusability 外部观察的可复用性

– Type Variation

– Routine Grouping

– Implementation Variation

– Representation Independence

– Factoring Out Common Behaviors

 

 

 

 

1 What is Software Reuse?

利用已有的软件实现软件系统

降低开发成本,可靠稳定,标准化。

2 How to measure “reusability”?

 

3 Levels and morphology of reusable components

最主要的复用是在代码层面

但软件构造的任何级别都可以复用

 

1)

 White box reuse

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

复制已有代码当正在开发的系统,进行修改,可定制化程度高。

但对其修改增加了软件的复杂度,且需要对其内部充分的了解

2)

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

简单清晰,但是适应性差

 

 

复用组件的形式

源码。包。

 

 

(1) Source code reuse 源代码层面

最低程度复用代码,拷贝粘贴,风险高。

 

(2) Module-level reuse:class/interface 模块层面:类和接口

需要文档,封装。管理更少的代码,版本兼容,需要打包相关的类

 

方法:Inheritance继承 delegation 委托

(3) Library-level reuse: API/Package

 

库,API

 

(4) System-level reuse: Framework

 

系统层面

框架:可复用的代码骨架

 

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

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

 

白盒框架:

继承和动态绑定

继承框架作为子类,重写必要的方法。

黑盒框架:

提供接口,重写接口

 

4 External observations of reusability

类型可变。功能分组;实现可变,表示独立,共性抽取。

 

类型可变 适应不同的类型,且满足LSP

 

内部实现可能会经常变化,但客户端不应受到影响。独立性,信息隐藏。

§

将共同的行为(共性)抽象出来,形成可复用实体

猜你喜欢

转载自blog.csdn.net/qq_42766619/article/details/91382108