HIT软件构造学习笔记-第四章(上)

4.1可复用性的度量,形态和外部表现
本章面向一个重要的外部质量指标–可复用性
越抽象的模块,可复用性就越强

大纲:
源代码级别的复用
模块级别的复用(类/抽象类/接口)
库级别的复用(API/包)
系统级别的复用(框架)

一.可复用性
1.硬件产品是典型可复用性的例子

软件:
(1)面向复用的编程:开发复用的软件
(2)基于复用的编程:利用已有的可复用软件构造新的

2.要求:
(1)降低成本和开发时间
(2)经过充分的测试,可靠,稳定
(3)标准化,在不同的应用中保持一致

在这里插入图片描述
上图红色线条为可复用性的开发成本,很好理解

二.如何衡量可复用性
在这里插入图片描述
在这里插入图片描述

标准:
在这里插入图片描述

三.复用的方式和level
*注意:最主要的复用是是在代码层面,但是在软件构造的过程中,任何实体都可以被复用

1.方式:
(1)白盒复用:
源代码可见,可以修改和拓展,本质是通过继承进行复用(对程序员的约束比较多)
(2)黑盒复用:
源代码不可见,不能修改,本质是通过API接口,调用方法(委托)实现复用

2.复用的level:
(1)代码level:
比如网上有一段代码,正好你能用上,你直接copy了,这就是代码level(简称复制粘贴)

(2)模块level:
这是基于类的level,有黑盒白盒两种方法

(3)库文件level:
主导方为程序员

(4)框架level:
有固定的框架,开发者自己填写代码进去,也有黑盒白盒两种方法
在这里插入图片描述
在这里插入图片描述

四.观察可复用性(原则)
1.类型可变:(泛型)
适用于不同的类型,并且满足LSP原则

2.实现可变:
相当于重写(overriding)

3.功能分组:
把方法细分,并按照具体情况加以组合,实现效率最大化

4.表示独立性:
用户不关心内部,只关心外部方法

5.共性抽取:
将共性的行为抽取出来,形成可复用的实体:父类/抽象类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值