前幾天我們小組在討論 組件化 相關的想法没酣,而隨著討論的加深,發(fā)現自己對于一些基本的理論還有一些誤區(qū)卵迂,特此先彌補一下裕便,本來很早就要寫好的,但前兩天看歷史小說太入迷了见咒,自我控制力還是有待加強啊....
- 架構
- 框架
- 設計模式
- 組件化
通過下面的問題來理解下上述的概念:
一偿衰、 架構和框架的關系?
框架是軟件,架構不是軟件下翎。
框架是一種特殊的軟件缤言,它并不能提供完整無缺的解決方案,而是為你構建解決方案提供良好的基礎视事〉ㄏ簦框架是半成品。典型地郑口,框架是系統(tǒng)或子系統(tǒng)的半成品鸳碧;框架中的服務可以被最終應用直接調用,而框架中的擴展點是供應用開發(fā)人員定制的“可變化點”犬性。
-
軟件架構不是軟件,而是關于軟件如何設計的重要決策腾仅。軟件架構決策涉及到如何將軟件系統(tǒng)分解成不同的部分乒裆、各部分之間的靜態(tài)結構關系和動態(tài)交互關系等。
參考引入:談框架和架構的區(qū)別
二推励、 設計模式和架構的關系鹤耍?
- 設計模式主要是針對單一問題的解決方法,范疇比較小验辞。
- 架構是高層次的針對體系結構的一種設計思路稿黄,范疇比較大。
可以這么說跌造,一個架構中可能會出現多個設計模式來解決多種架構中的問題杆怕。
參考引入:圖說設計模式
三、 設計模式和框架的關系壳贪?
- 從應用領域上分陵珍,框架給出的是整個應用的體系結構;而設計模式則給出了單一設計問題的解決方案违施,并且這個方案可在不同的應用程序或者框架中進行應用互纯。
- 從內容上分,設計模式僅是一個單純的設計磕蒲,這個設計可被不同語言以不用方式來實現留潦;而框架則是設計和代碼的一個混合體,編程者可以用各種方式對框架進行擴展辣往,進而形成完整的不同的應用兔院。
- 框架一旦設計成形,雖然還沒有構成完整的一個應用排吴,但是以其為基礎進行應用的開發(fā)顯然要受制于框架的實現環(huán)境秆乳;而設計模式是與語言無關的,所以可以在更廣泛的異構環(huán)境中進行應用。
參考引入: 架構屹堰、框架肛冶、設計模式之間的關系簡述
框架通常是代碼重用,而設計模式是設計重用扯键,架構則介于兩者之間睦袖,部分代碼重用,部分設計重用荣刑,有時分析也可重用馅笙。
在軟件生產中有三種級別的重用:
- 內部重用,即在同一應用中能公共使用的抽象塊;
- 代碼重用厉亏,即將通用模塊組合成庫或工具集董习,以便在多個應用和領域都能使用;
- 應用框架的重用爱只,即為專用領域提供通用的或現成的基礎結構皿淋,以獲得最高級別的重用性。
框架與設計模式雖然相似恬试,但卻有著根本的不同窝趣。
- 設計模式是對在某種環(huán)境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象训柴;
- 框架可以用代碼表示哑舒,也能直接執(zhí)行或復用,而對模式而言只有實例才能用代碼表示;
- 設計模式是比框架更小的元素幻馁,一個框架中往往含有一個或多個設計模式洗鸵,框架總是針對某一特定應用領域,但同一模式卻可適用于各種應用宣赔。
可以說预麸,框架是軟件,而設計模式是軟件的知識儒将。
參考引入:某知乎回答
四吏祸、組件化初步的認知?
對于這個概念钩蚊,還沒有具體的認知贡翘,先通過兩個圖來豎立下核心思想:
目前具體的來說,對于個人來說砰逻,就是下面兩個問題啦:
- 如何劃分模塊鸣驱?
- 中轉站怎么用?
此處還需要好好實踐和思考蝠咆,具體的描述和理解等到下一篇再來記錄踊东。北滥。。