設(shè)計(jì)模式
工廠模式星虹、適配器模式、策略模式等等
框架
一個框架可以包含多個設(shè)計(jì)模式镊讼】碛浚框架就是一組相互協(xié)作的類,對于特定的一類軟件蝶棋,框架構(gòu)成了一種可重用的設(shè)計(jì)卸亮。框架則是設(shè)計(jì)和代碼的一個混合體玩裙。
軟件框架是項(xiàng)目軟件開發(fā)過程中提取特定領(lǐng)域軟件的共性部分形成的體系結(jié)構(gòu)兼贸,不同領(lǐng)域的軟件項(xiàng)目有著不同的框架類型〕越Γ框架的作用在于:由于提取了特定領(lǐng)域軟件的共性部分溶诞,因此在此領(lǐng)域內(nèi)新項(xiàng)目的開發(fā)過程中代碼不需要從頭編寫,只需要在框架的基礎(chǔ)上進(jìn)行一些開發(fā)和調(diào)整便可滿足要求决侈;
架構(gòu)
軟件體系機(jī)構(gòu)枉圃。體系結(jié)構(gòu)確定了系統(tǒng)整體結(jié)構(gòu)、層次劃分庐冯,不同部分之間的協(xié)作等設(shè)計(jì)考慮孽亲。框架比架構(gòu)更具體展父。更偏重于技術(shù)涉嫌墨林。確定框架后,軟件體系結(jié)構(gòu)也隨之確定犯祠,而對于同一軟件體系結(jié)構(gòu)(比如Web開發(fā)中的MVC)旭等,可以通過多種框架來實(shí)現(xiàn)。
MVC全名是Model View Controller弃榨,是模型(model)-視圖(view)-控制器(controller)的縮寫菩收,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯鲸睛、數(shù)據(jù)娜饵、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面官辈,在改進(jìn)和個性化定制界面及用戶交互的同時箱舞,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入拳亿、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中晴股。
項(xiàng)目 | 設(shè)計(jì)模式 | 框架 | 架構(gòu) |
---|---|---|---|
應(yīng)用領(lǐng)域 | - | - | - |
復(fù)用性 | - | - | - |
框架和設(shè)計(jì)模式的區(qū)別
有很多程序員往往把框架模式和設(shè)計(jì)模式混淆,認(rèn)為MVC是一種設(shè)計(jì)模式肺魁。實(shí)際上它們完全是不同的概念电湘。 框架、設(shè)計(jì)模式這兩個概念總?cè)菀妆换煜炀鋵?shí)它們之間還是有區(qū)別的寂呛。
框架通常是代碼重用,而設(shè)計(jì)模式是設(shè)計(jì)重用瘾晃,架構(gòu)則介于兩者之間昧谊,部分代碼重用,部分設(shè)計(jì)重用酗捌,有時分析也可重用呢诬。
在軟件生產(chǎn)中有三種級別的重用:
- 內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊;
- 代碼重用胖缤,即將通用模塊組合成庫或工具集尚镰,以便在多個應(yīng)用和領(lǐng)域都能使用;
- 應(yīng)用框架的重用哪廓,即為專用領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu)狗唉,以獲得最高級別的重用性。
框架與設(shè)計(jì)模式雖然相似涡真,但卻有著根本的不同分俯。
- 設(shè)計(jì)模式是對在某種環(huán)境中反復(fù)出現(xiàn)的問題以及解決該問題的方案的描述,它比框架更抽象哆料;
- 框架可以用代碼表示缸剪,也能直接執(zhí)行或復(fù)用,而對模式而言只有實(shí)例才能用代碼表示;
設(shè)計(jì)模式是比框架更小的元素东亦,一個框架中往往含有一個或多個設(shè)計(jì)模式杏节,框架總是針對某一特定應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用》苡妫可以說镊逝,框架是軟件,而設(shè)計(jì)模式是軟件的知識嫉鲸。
參考資源