可複用性

面向複用編程

複用性

軟件複用是使用現有軟件組件實現或更新軟件系統的過程。
複用主要用在

  • 爲了複用編程
  • 基於複用編程
    其優勢在於
  • 成本有效性和及時性
  • 可生成可靠的軟件
  • 標準化
    在這裏插入圖片描述

同時帶來了一些弊端

  • 可複用的組件時空性能往往不如定向開發的同等功能軟件

其評價標準爲

  • 複用頻度
  • 複用成本

對於可複用性,我們期望它:

  • 簡單
  • 可移植性和兼容性好
  • 靈活
  • 可擴展
  • 通用和參數化
  • 模塊化
  • 將變化限制在局部
  • 穩定

複用分爲:

  • 白盒複用:複用代碼是可用的,但通常需要一些小改造或適應
  • 黑盒複用:通過提供一些“粘合”以組合現有代碼的形式重用,但不必更改代碼本身,通常是因爲您無法訪問代碼

在層次上又分爲:

  • 代碼級
    • 存在問題如下問題
      1. 需要維護多處修改的一致性問題
      2. 過程具有高風險
      3. 需要了解工作原理
      4. 需要訪問源代碼
  • 模塊級
    • 通過類與接口
  • 庫級
    • API和包
  • 系統級
    • 框架

在模塊級複用上有如下方法

  • 繼承
    • 在java中就是extend
  • 委託
    • 調用
    • 聯合(老師之於學生,學生之於課堂)
    • 包含(人之於心臟)

:一系列方法和類

對於一個優秀的API需要:

  • 易於學習
  • 易於使用
  • 難以誤用
  • 易於保證代碼的可讀性
  • 足以滿足要求
  • 易於升級
  • 適合閱讀者

系統級複用
框架:應用框架是包含了接口、抽象類和具體類的可複用程序,使用時需要在其基礎上補充所需要的設計元素。

框架與庫的對比
類庫:

  • 較少特定領域
  • 提供較小的重用範圍。
  • 類庫是被動的; 對控制流沒有約束。
  • 被使用者調用

框架:

  • 類爲一系列相關應用程序進行合作。
  • 框架是活躍的; 影響控制流程。
  • 調用使用者代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章