<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/257864.htm

            “開架式”軟件設(shè)計(jì)是基于應(yīng)用程序的可擴(kuò)充性提出來的,是一種軟件底層架構(gòu)的實(shí)現(xiàn)方式。他更關(guān)注應(yīng)用程序底層架構(gòu)的實(shí)現(xiàn),與具體應(yīng)用程序的實(shí)現(xiàn)無關(guān),或者說具體的應(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ù),如可以訪問界面元素,訪問數(shù)據(jù)庫、文件,調(diào)用日志服 務(wù)寫入日志、訪問多語言信息等等。

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

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

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

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

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

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

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

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

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

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

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

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

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

            缺點(diǎn):

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

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

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



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();