新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > “開架式”軟件架構(gòu)設(shè)計(jì)

“開架式”軟件架構(gòu)設(shè)計(jì)

作者: 時(shí)間:2011-06-23 來(lái)源:網(wǎng)絡(luò) 收藏

早期的國(guó)內(nèi)應(yīng)用軟件產(chǎn)品,其都是相對(duì)較差的,盡管開發(fā)商也為此作過(guò)很多工作,包括二次開發(fā)工具包等等。主要原因就是這些應(yīng)用本身框架的局限 性,不具有可,在設(shè)計(jì)時(shí)我們關(guān)注的只是應(yīng)用程序的實(shí)現(xiàn),沒(méi)有關(guān)注我們的應(yīng)用應(yīng)該構(gòu)建在一種開放的框架上。(當(dāng)然開發(fā)語(yǔ)言本身也有一定的局限性)

本文引用地址:http://2s4d.com/article/257864.htm

  “開架式”軟件設(shè)計(jì)是基于應(yīng)用程序的可擴(kuò)充性提出來(lái)的,是一種軟件底層架構(gòu)的實(shí)現(xiàn)方式。他更關(guān)注應(yīng)用程序底層架構(gòu)的實(shí)現(xiàn),與具體應(yīng)用程序的實(shí)現(xiàn)無(wú)關(guān),或者說(shuō)具體的應(yīng)用程序是構(gòu)建在這種架構(gòu)定義的范疇之內(nèi)的。

  在這種設(shè)計(jì)思想下,我們的應(yīng)用程序框架可形象比喻成書架一樣,我們提供一個(gè)架子(規(guī)范),書架內(nèi)容的不斷豐富,就好像將不同的書(功能/插件)放在架子上一樣,當(dāng)然書需要滿足我書架尺寸的要求。

  在這種框架下,提供的是一堆服務(wù)和資源以及調(diào)用和擴(kuò)展這些服務(wù)及資源的規(guī)范,而這些服務(wù)和資源也是可擴(kuò)展的,你可以在一個(gè)組件中編寫一些服務(wù)和 資源由框架加載并與其他的組件分享。組件的功能是由框架加載并執(zhí)行,它可以訪問(wèn)框架提供的資源和服務(wù),如可以訪問(wèn)界面元素,訪問(wèn)數(shù)據(jù)庫(kù)、文件,調(diào)用日志服 務(wù)寫入日志、訪問(wèn)多語(yǔ)言信息等等。

  大概的運(yùn)行時(shí)框架如下:

  圖中的組件A和B可理解為系統(tǒng)提供的組件或者應(yīng)用程序功能性組件。

  其中的關(guān)鍵就是要提供一種機(jī)制:

  1、 保證組件可以被框架加載并運(yùn)行,

  2、 將組件中包含的資源和服務(wù)注冊(cè)到該框架中,

  3、 組件訪問(wèn)框架中的資源和服務(wù)的透明性。(也表現(xiàn)出組件間、組件和框架間的協(xié)作性和可訪問(wèn)性)。

  有了這樣的應(yīng)用程序框架,我們可以任意擴(kuò)展應(yīng)用程序的功能組件,只要他遵循框架定義的規(guī)范。我們可以新增加一個(gè)組件,可以提供新的資源和服務(wù) (如果愿意),可以訪問(wèn)框架中的資源和服務(wù)就好像這些都是該組件自身具有的,而組件中提供的功能可以通過(guò)配置插入到恰當(dāng)?shù)牟藛位蚬ぞ邨l供用戶調(diào)用。而這些 對(duì)用戶是透明的,他們不知道界面中的某個(gè)功能究竟來(lái)自于那一個(gè)組件。組件和組件之間是彼此獨(dú)立的離散的。

  遠(yuǎn)景:

  將產(chǎn)品發(fā)布成為這樣一套框架(標(biāo)準(zhǔn))和預(yù)先提供的功能組件,用戶可以到網(wǎng)上直接下載組件進(jìn)行程序的升級(jí),用戶可以根據(jù)框架定義的規(guī)范自行開發(fā), 甚至有第三方軟件公司根據(jù)框架的內(nèi)容和標(biāo)準(zhǔn)專門開發(fā)特有的功能,如軟件對(duì)GPRS、視頻會(huì)議的支持等等。也可以支持OpenSource,開放標(biāo)準(zhǔn)提供給 網(wǎng)上大量的開發(fā)者開發(fā)功能組件,作為用戶可以在網(wǎng)上找到需要的功能組件。這些或多或少已經(jīng)是一種商業(yè)模式的問(wèn)題了。

  優(yōu)點(diǎn):

  1、 極強(qiáng),可以對(duì)其任意組合,

  2、 因?yàn)榻M件和組件之間是彼此獨(dú)立的離散的,帶來(lái)的升級(jí)也是方便的,

  3、 程序更新只需要下載和替換相關(guān)的組件即可,

  4、 程序的架構(gòu)是嚴(yán)密的,

  5、 架構(gòu)本身的升級(jí)比較容易。

  缺點(diǎn):

  1、 性能的影響。高擴(kuò)展性必然以犧牲一定性能作為代價(jià)的。

  2、 功能擴(kuò)展的不定性。

  3、 高度共享帶來(lái)的安全性也是一個(gè)要考慮的問(wèn)題。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉