Framework

Framework

抽象構件及構件實例間交互的方法
Framework是整個或部分系統的可重用設計,表現為一組抽象構件及構件實例間交互的方法。前者是從應用方面而後者是從目的方面給出的定義。可以說,一個框架是一個可複用的設計構件,它規定了應用的體系結構,闡明了整個設計、協作構件之間的依賴關系、責任分配和控制流程,表現為一組抽象類以及其實例之間協作的方法,它為構件複用提供了上下文(Context)關系。因此構件庫的大規模重用也需要框架。 [1]
    中文名: 外文名: 拼音: 近義詞: 反義詞: 英文名:Framework 定義:構建交互方法 用途:骨架 釋義:組織、結構 類型:設計名詞

框架

應用框架強調的是軟件的設計重用性和系統的可擴充性,以縮短大型應用軟件系統的開發周期,提高開發質量。與傳統的基于類庫的面向對象重用技術比較,應用框架更注重于面向專業領域的軟件重用。應用框架具有領域相關性,構件根據框架進行複合而生成可運行的系統。框架的粒度越大,其中包含的領域知識就更加完整。

應用框架的概念也很簡單。它并不是包含構件應用程序的小片程序,而是實現了某應用領域通用完備功能(除去特殊應用的部分)的底層服務。使用這種框架的編程人員可以在一個通用功能已經實現的基礎上開始具體的系統開發。框架提供了所有應用期望的默認行為的類集合。具體的應用通過重寫子類(該子類屬于框架的默認行為)或組裝對象來支持應用專用的行為。

面向對象

重用技術比較,應用框架更注重于面向專業領域的軟件重用。應用框架具有領域相關性,構件根據框架進行複合而生成可運行的系統。框架的粒度越大,其中包含的領域知識就更加完整。框架,即framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統。簡單說就是使用别人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。框架的概念最早起源于Smalltalk環境,其中最著名的框架是Smalltalk80的用戶界面框架

MVC

(Model-View-Controller)。随着用戶界面框架Interviews【Linton89】和ET++【Weinand89】的開發和發布,框架研究越來越受到研究人員的重視。雖然框架研究最初起源于用戶界面領域,但它還被成功地應用到其他領域中,如操作系統【Russo90】、火警系統【Molin96a,Molin96b】等。

Taligent

公司于1992年成立後,框架研究受到了廣泛的重視。該公司計劃基于框架來開發一個完整的面向對象操作系統。另外,該公司還發布了一套支持快速應用開發的工具集CommonPoint,其中包括了上百個面向對象框架【Andert94,Cotter95】。框架目前還沒有統一的定義,其中RalphJohnson所給出的定義基本上為大多數研究人員所接受:一個框架是一個可複用設計,它是由一組抽象類及其實例間協作關系來表達的【Johnson98】。

這個定義是從框架内涵的角度來定義框架的,當然也可以從框架用途的角度來給出框架的定義:一個框架是在一個給定的問題領域内,一個應用程序的一部分設計與實現【Bosch97】。從以上兩個定義可以看出,框架是對特定應用領域中的應用系統的部分設計和實現,它定義了一類應用系統(或子系統)的整體結構。框架将應用系統劃分為類和對象,定義類和對象的責任,類和對象如何互相協作,以及對象之間的控制線程。

這些共有的設計因素由框架預先定義,應用開發人員隻須關注于特定的應用系統特有部分。框架刻畫了其應用領域所共有的設計決策,所以說框架着重于設計複用,盡管框架中可能包含用某種

程序設計語言實現的具體類。一個基于框架開發的應用系統包含一個或多個框架,與框架相關的構件類,以及與應用系統相關的功能擴展。與應用系統相關的擴展包括與應用系統相關的類??一部分,或者說,它可能需要對框架進行一些适應性修改,以滿足系統需求。

面向對象的框架作為一種可複用的軟件,在基于框架的軟件開發過程中會涉及到框架的開發和利用兩個方面的工作。框架的開發階段在于産生領域中可複用的設計。該階段的主要結果是框架以及與框架相關的構件類。該階段的一個重要活動是框架的演變和維護。象所有軟件一樣,框架也易于變化。産生變化的原因很多,如應用出錯,業務領域變化,等等。

不論是哪一種技術,最終都是為業務發展而服務的。從業務的角度來講。首先,框架的是為了企業的業務發展和戰略規劃而服務的,他服從于企業的願景(vision);其次,框架最重要的目标是提高企業的競争能力,包括降低成本、提高質量、改善客戶滿意程度,控制進度等方面。最後,框架實現這一目标的方式是進行有效的知識積累。軟件開發是一種知識活動,因此知識的聚集和積累是至關重要的。框架能夠采用一種結構化的方式對某個特定的業務領域進行描述,也就是将這個領域相關的技術以代碼、文檔、模型等方式固化下來。

解決的問題

框架要解決的最重要的一個問題是技術整合的問題,在J2EE的框架中,有着各種各樣的技術,不同的軟件企業需要從J2EE中選擇不同的技術,這就使得軟件企業最終的應用依賴于這些技術,技術自身的複雜性和技術的風險性将會直接對應用造成沖擊。而應用是軟件企業的核心,是競争力的關鍵所在,因此應該将應用自身的設計和具體的實現技術解耦。這樣,軟件企業的研發将集中在應用的設計上,而不是具體的技術實現,技術實現是應用的底層支撐,它不應該直接對應用産生影響。

要理解這一點,我們來舉一些例子:

一個做視頻流應用的軟件企業,他為電廣行業提供整體的解決方案。他的優勢在于将各種各樣的視頻硬件、服務器、和管理結合起來,因此他扮演的是一個集成商的角色。因此他的核心價值在于使用軟件技術将不同的硬件整合起來,并在硬件的整合層面上提供一個統一的管理平台。所以他的精力應該放在解決兩個問題:

如何找到一種方法,将不同的硬件整合起來,注意,這裡的整合并不是技術整合,而是一種思路上的整合。首先要考慮的絕對不是要使用什麼技術,而是這些硬件需要提供哪些服務,需要以什麼樣的方式進行管理。因此,這時候做的事情實際上是對領域進行建模。例如,我們定義任何一種硬件都需要提供兩種能力,一種是統一的管理接口,用于對所有硬件統一管理;另一種是服務接口,系統平台可以查詢硬件所能夠提供的服務,并調用這些服務。所以,設計的規範将會針對兩種能力進行。

另一個問題是如何描述這個管理系統的規範。你需要描述各種管理活動,以及管理中所涉及的不同實體。因為管理系統是針對硬件的管理,所以它是構架在硬件整合平台之上的。

在完成業務層面的設計之後,我們再來看看具體的技術實現。光有規範和設計是不夠的,我們還需要選擇一個優秀的技術。由于是對不同硬件的整合,我們想到采用Java提供的

上一篇:MORITA

下一篇:廣東行政職業學院

相關詞條

相關搜索

其它詞條