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

 

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

§

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值