可复用性 Reusability

可复用性是软件构造过程中一个重要的外部质量指标。对经过充分测试的程序进行复用可以利用其高可靠性、稳定性、适应性,并可降低成本以及开发时间。

1.复用层次

1.1源代码

1.1.1白盒复用

源代码可见,直接复制并进行修改。
需要对源代码内部结构、设计思路充分了解

1.1.2黑盒复用

源代码不可见,只能通过API接口使用

1.2模块:类和接口

类的复用

继承Inheritance与重写override
委托Delegation

1.3库:API

我们经常使用的JDK库Libraries、APIs及其他第三方库(如Apache)均为复用。

1.4架构: 框架framework

框架包含具体类、抽象类及它们之间的连接关系,可以运行;开发者根据规约需要,在框架预留的接口位置填充所需代码形成完整系统
同样存在白盒框架及黑盒框架两种

2.可重用性的外部表现

2.1类型可变

利用泛型来适应不同的类型

2.2实现可变

抽象数据类型ADT有多种不同的实现,但满足的规约specification (pre-condition, post-condition, invariants)相同,可以达到相同的效果

2.3功能分组

在保证完整实现具体功能的同时将不同功能分开实现,在不同需求下复用不同的功能并进行组合
个人理解:与面向对象设计原则OO Design Principles其一的 " SOLID " 原则中的单一责任原则(SRP — The Single Responsibility Principle)有相似之处

2.4表示独立性

对内部代码实现进行修改并不影响客户端,同时实现信息隐藏

2.5共性抽取

把具有相同行为的内容或对象抽象出来形成可复用实体,如父类或抽象类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值