閱讀筆記9

                                軟件框架(Software Framework) 
 面向某領域(包括業務領域,如ERP,和計算領域,如GUI)的、可複用的「半成品」軟件,它實現了該領域的共性部分,並提供一系列定義良好的可變點以保證靈活性和可擴展性。能夠說,軟件框架是領域分析結果的軟件化,是領域內最終應用系統的模板。 
隨着軟件規模的擴大、應用的普遍和軟件複用技術的發展,以子程序或類(Class)爲單位的軟件複用有許多不足:框架

(1)子程序庫日趨其龐大以至於使用人員難以掌握分佈式

(2)大多數類粒度很小,且其自身每每不能完成有用的功能。這一問題迫令人們在複用中將一組類(或模塊)及其交互做爲一個總體來考慮,由此出現了軟件框架。 工具

軟件框架至少包含如下組成部分: 
1)一系列完成計算的模塊,在此稱爲構件。 
2)構件之間的關係與交互機制。 
3)一系列可變點(也稱熱點,Hot-spots,或調整點)。 
4)可變點的行爲調整機制。 
開發人員經過軟件框架的行爲調整機制,將領域中具體應用所特有的軟件模塊綁定到該軟件框架的可變點,從而獲得最終應用系統,這一過程稱爲軟件框架的例化(instantiation)。經過軟件框架的使用,開發人員可將主要精力放在應用所特有的模塊的開發上,從而大大提升了軟件生產率和質量。 
軟件框架的行爲調整機制是指如何針對具體的應用調整該框架的可變部分、如何在可變點加入特定應用模塊所採用的方法和規則。行爲調整機制可分爲四種: 
1)模板參數化。軟件框架提供代碼自動生成工具,該工具根據用戶設置的參數自動生成所需的代碼。 
2)繼承和多態。經過面向對象中的子類繼承和重載,在子類中加入新的功能或改變父類的行爲。 
3)動態綁定。在運行時刻動態綁定所需的對象服務,可經過軟件模式技術實現。 
4)構件替換。經過替換框架中可插拔的構件來加入業務特定的功能, 
不一樣於通常的可複用軟件製品,軟件框架的一個顯著特色是逆向控制(Inversion of Control),在複用過程當中,前者需被顯式調用,控制是在應用特定的模塊中,軟件框架則否則,應用開發人員只要將應用特定的模塊綁定到框架內,框架則根據本身的交互機制自動調用該模塊,控制由框架負責。 
軟件框架有不少種。按其應用的範圍可分爲: 
1)系統基礎設施框架。用於簡化系統級軟件的開發,如操做系統、用戶界面、語言處理等,典型例子爲MacApp, Microsoft’s MFC等。 
2)中間件集成框架。用於組裝分佈式應用和構件,典型例子爲Microsoft’s DCOM,JavaSoft’s RMI,OMG’s CORBA等 
3)企業應用框架。用於各種應用領域,如電信、製造業、金融等。 
按其表現形態可分爲: 
1)白盒框架。支持白盒複用,大型的類庫或子程序庫一般均提供白盒框架來協助複用。 
2)黑盒框架。支持黑盒複用。中間件集成框架通常爲黑盒框架。spa

相關文章
相關標籤/搜索