首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 繽紛校園 英語學(xué)習(xí)
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級(jí) | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點(diǎn)英、、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級(jí)
等級(jí)考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 報(bào)檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員
單證員 | 物流師 | 價(jià)格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會(huì)工作者
會(huì)計(jì)職稱 | 注會(huì)CPA | 經(jīng)濟(jì)師 | 統(tǒng)計(jì)師 | 注冊(cè)稅務(wù)師 | 評(píng)估師 | 精算師 | 高會(huì) | ACCA | 審計(jì)師
法律顧問 | 會(huì)計(jì)證
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評(píng)價(jià)師
房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價(jià)員
投資項(xiàng)目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評(píng)價(jià) | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價(jià)工程師 | 招標(biāo)師
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 系統(tǒng)分析師 > 正文

構(gòu)架、框架、設(shè)計(jì)模式之間的關(guān)系簡(jiǎn)述

 一、軟件體系結(jié)構(gòu)和框架的定義

  軟件體系結(jié)構(gòu)的英文單詞是“architecture”. Architecture的基本詞義是建筑、建筑學(xué)、建筑風(fēng)格。

  軟件體系結(jié)構(gòu)雖然根植于軟件工程,但還處于一個(gè)研究發(fā)展的階段,迄今為止還沒有一個(gè)為大家所公認(rèn)的定義。

  《設(shè)計(jì)模式》中對(duì)框架的定義是框架就是一組相互協(xié)作的類,對(duì)于特定的一類軟件,框架構(gòu)成了一種可重用的設(shè)計(jì)。

  軟件框架是項(xiàng)目軟件開發(fā)過程中提取特定領(lǐng)域軟件的共性部分形成的體系結(jié)構(gòu),不同領(lǐng)域的軟件項(xiàng)目有著不同的框架類型?蚣艿淖饔迷谟冢河捎谔崛×颂囟I(lǐng)域軟件的共性部分,因此在此領(lǐng)域內(nèi)新項(xiàng)目的開發(fā)過程中代碼不需要從頭編寫,只需要在框架的基礎(chǔ)上進(jìn)行一些開發(fā)和調(diào)整便可滿足要求;對(duì)于開發(fā)過程而言,這樣做會(huì)提高軟件的質(zhì)量,降低成本,縮短開發(fā)時(shí)間,使開發(fā)越做越輕松,效益越做越好,形成一種良性循環(huán)。

  框架不是現(xiàn)成可用的應(yīng)用系統(tǒng)。是一個(gè)半成品,需要后來的開發(fā)人員進(jìn)行二次開發(fā),實(shí)現(xiàn)具體功能的應(yīng)用系統(tǒng)?蚣懿皇恰捌脚_(tái)”,平臺(tái)概念比較模糊可以是一種操作系統(tǒng),一種應(yīng)用服務(wù)器,一種數(shù)據(jù)庫軟件,一種通訊中間件等地那個(gè),因此平臺(tái)在應(yīng)用平臺(tái)主要指提供特定服務(wù)的系統(tǒng)軟件,而框架更側(cè)重了設(shè)計(jì),開發(fā)過程,或者可以說,框架通過調(diào)用平臺(tái)提供的服務(wù)而起的作用。

  框架不是工具包或者類庫,調(diào)用API并不就是在使用框架開發(fā),緊緊使用API是,開發(fā)者完成系統(tǒng)的主題部分,并不時(shí)地調(diào)用類庫實(shí)現(xiàn)特定任務(wù)。而框架構(gòu)成了通用的、具有一般性的系統(tǒng)主體部分,二次開發(fā)人員只是像做填空一樣,根據(jù)具體業(yè)務(wù),完成特定應(yīng)用系統(tǒng)中與眾不同的特殊部分。

  二、框架與架構(gòu)之間的關(guān)系

  框架不是構(gòu)架(即軟件體系機(jī)構(gòu))。體系結(jié)構(gòu)確定了系統(tǒng)整體結(jié)構(gòu)、層次劃分,不同部分之間的協(xié)作等設(shè)計(jì)考慮?蚣鼙燃軜(gòu)更具體。更偏重于技術(shù)涉嫌。確定框架后,軟件體系結(jié)構(gòu)也隨之確定,而對(duì)于同一軟件體系結(jié)構(gòu)(比如Web開發(fā)中的MVC),可以通過多種框架來實(shí)現(xiàn)。

  三、框架與設(shè)計(jì)模式之間的關(guān)系

  設(shè)計(jì)模式和框架在軟件設(shè)計(jì)中是兩個(gè)不同的研究領(lǐng)域。設(shè)計(jì)模式研究的是一個(gè)設(shè)計(jì)問題的解決方法,一個(gè)模式可應(yīng)用于不同的框架和被不同的語言所實(shí)現(xiàn);而框架則是一個(gè)應(yīng)用的體系結(jié)構(gòu),是一種或多種設(shè)計(jì)模式和代碼的混合體雖然它們有所不同,但卻共同致力于使人們的設(shè)計(jì)可以被重用,在思想上存在著統(tǒng)一性的特點(diǎn),因而設(shè)計(jì)模式的思想可以在框架設(shè)計(jì)中進(jìn)行應(yīng)用。

  框架和設(shè)計(jì)模式存在著顯著的區(qū)別,主要表現(xiàn)在二者提供的內(nèi)容和致力應(yīng)用的領(lǐng)域。

  1)、從應(yīng)用領(lǐng)域上分,框架給出的是整個(gè)應(yīng)用的體系結(jié)構(gòu);而設(shè)計(jì)模式則給出了單一設(shè)計(jì)問題的解決方案,并且這個(gè)方案可在不同的應(yīng)用程序或者框架中進(jìn)行應(yīng)用。

  2)、從內(nèi)容上分,設(shè)計(jì)模式僅是一個(gè)單純的設(shè)計(jì),這個(gè)設(shè)計(jì)可被不同語言以不用方式來實(shí)現(xiàn);而框架則是設(shè)計(jì)和代碼的一個(gè)混合體,編程者可以用各種方式對(duì)框架進(jìn)行擴(kuò)展,進(jìn)而形成完整的不同的應(yīng)用。

  3)、以第二條為基礎(chǔ),可以得出設(shè)計(jì)模式比框架更容易移植:框架一旦設(shè)計(jì)成形,雖然還沒有構(gòu)成完整的一個(gè)應(yīng)用,但是以其為基礎(chǔ)進(jìn)行應(yīng)用的開發(fā)顯然要受制于框架的實(shí)現(xiàn)環(huán)境;而設(shè)計(jì)模式是與語言無關(guān)的,所以可以在更廣泛的異構(gòu)環(huán)境中進(jìn)行應(yīng)用。

  總之,框架是軟件,而設(shè)計(jì)模式是軟件的知識(shí)體,提升框架的設(shè)計(jì)水平。

轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索
構(gòu)架、框架、設(shè)計(jì)模式之間的關(guān)系簡(jiǎn)述網(wǎng)友評(píng)論網(wǎng)友評(píng)論
版權(quán)聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
 gaoxiaoliang