雨课堂知识点总结(十三)

 5.1可复用性
1.
Programming for reuseProgramming with reuse二者的区别:
for:开发可复用的软件;with:用可复用的软件开发自己的软件
for:难点在于抽象
(abstraction),让开发出的软件能适应于不同但相似的应用场合
with:难点在于适配
(adaption),让自己的软件与来自外部的软件之间做好恰当的连接
2.
Lab2中,你开发了Graph<L>,然后在FriendShipGraph中使用Graph<L>表示人与人之间的社交网络,此为
Module level reuse
3.
为了让你的Lab2具备可视化功能,你决定复用Lab1的TurtleGraphics,于是在代码里加入import turtle.*, 然后在中用Turtle的相关类和方法执行图的可视化,此为
Library level reuse
解析:
潜藏的操作是你必须将turtle的jar包或.class目录加入你的项目path中。该jar表示个可复用的外部library。就如同:为了让你的程序具备Junit测试能力,你必须将junit.jar放入你的path里。
4.
你在GitHub_上搜索了某个ConvexHull的算法,将其代码复制到你的Lab1中,这属于
Code level reuse
答案解析: 
虽然不算“剽窃”,但如果你的软件投入商业用途,必须要遵循对方的开源许可协议
5.
以下技术对开发高可复用性的软件有积极意义
泛型/参数化,例如Graph<L>中的<L>
使用interface定义操作,而非用class直接实现op
设计和实现abstract class
使用override和overload
将ADT的rep设置为private和final,并避免表示泄露
精心撰写符合要求的spec并生成Java Doc
6.
Framework是一种典型的复用形态,它与传统的API复用存在区别,以下正确的是
API复用是将外部开发的API放到自己的代码中去调用,自己的代码是可执行程序的主体
Framework复用是将自己的代码填充到framework中,可执行程序的主体是framework
API复用的学习周期短,framework复用的学习周期较长
不正确的:
API复用的粒度大,framework复用的粒度小

转载于:https://www.cnblogs.com/HIT-ryp/p/10648562.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值