软件构造复习4.1

软件构造4.1

        • levels of reuse
        • types of code reuse
        • sources of reuse
        • module-level reuse
        • libraries
        • framework
        • system-level reuse
        • external

levels of reuse

最主要的复用在代码层面,但是软件构造过程中任何实体都可能被复用
代码级:方法,
模块级:类,接口
库级:API
架构级:框架

types of code reuse
  • 白盒复用:
    源代码可见,可修改和扩展,复制已有代码于正在开发的系统,进行修改,增加了软件的复杂度,需要对其内部充分的了解。
  • 黑盒复用
    源代码不可见,不能修改,只能通过API接口来使用,适应性差些。
sources of reuse
  • 组织的内部代码库
  • 第三方提供的库
  • 语言自身提供的库
  • 代码示例
  • 来自同事
  • 已有系统内的代码
  • 开源软件的代码
module-level reuse
  • class
    类复用方法:
    • inheritance继承(extend)
    • delegation委托
libraries

提供可重用功能的一组类和方法(api),开发者构造可运行
软件实体,其中涉及到对可复用库的调用

framework

可自定义到应用程序中的可重用框架代码,Framework作为主
程序加以执行,执行过程中调用开发者所写的程序

system-level reuse

框架:一组具体类,抽象类,及其之间的连接关系

  • 黑盒框架
    通过实现特定接口/delegation进行框架扩展
  • 白盒框架
    通过代码层面的继承进行框架扩展
external
  • type variation 类型可变
    类型可变(泛型),适应不同的类型
  • routine grouping 功能分组
    提供完备的操作,不同场景下服用不同的操作
  • implementation variation实现可变
    ADT有多种不同的实现
  • representation independence 表示独立
    内部实现经常变化,但是客户端不受影响
  • factoring out common behaviors 共性抽取
    将公共的行为抽象出来,形成可复用实体:父类,抽象类

你可能感兴趣的:(软件构造复习4.1)