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


     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复用的粒度小
  • 相关阅读:
    java基础:11.1 递归
    4.3 Verilog练习(3)
    4.3 verilog中的task用法与例子
    4.3 verilog中的function用法与例子
    4.3 Verilog练习(2)
    4.3 Verilog练习(1)
    4.3 阻塞赋值与非阻塞赋值
    4.2 Vivado Embedded Design (Zynq-7000 series)
    4.1 Vivado使用技巧(3):手把手教你 创建工程,存档工程
    4.1 Vivado使用技巧(2):使用Vivado DocNav
  • 原文地址:https://www.cnblogs.com/HIT-ryp/p/10648562.html
Copyright © 2020-2023  润新知