基礎理論知識彌補(一)

前幾天我們小組在討論 組件化 相關的想法,而隨著討論的加深,發現自己對于一些基本的理論還有一些誤區,特此先彌補一下,本來很早就要寫好的,但前兩天看歷史小說太入迷了,自我控制力還是有待加強啊....

  • 架構
  • 框架
  • 設計模式
  • 組件化

通過下面的問題來理解下上述的概念:

一、 架構和框架的關系?

框架是軟件,架構不是軟件。

  • 框架是一種特殊的軟件,它并不能提供完整無缺的解決方案,而是為你構建解決方案提供良好的基礎??蚣苁前氤善?。典型地,框架是系統或子系統的半成品;框架中的服務可以被最終應用直接調用,而框架中的擴展點是供應用開發人員定制的“可變化點”。

  • 軟件架構不是軟件,而是關于軟件如何設計的重要決策。軟件架構決策涉及到如何將軟件系統分解成不同的部分、各部分之間的靜態結構關系和動態交互關系等。
    參考引入:談框架和架構的區別

    理解架構和框架的關系

二、 設計模式和架構的關系?

  • 設計模式主要是針對單一問題的解決方法,范疇比較小。
  • 架構是高層次的針對體系結構的一種設計思路,范疇比較大。
    可以這么說,一個架構中可能會出現多個設計模式來解決多種架構中的問題。
常見的設計模式

參考引入:圖說設計模式

三、 設計模式和框架的關系?

  • 從應用領域上分,框架給出的是整個應用的體系結構;而設計模式則給出了單一設計問題的解決方案,并且這個方案可在不同的應用程序或者框架中進行應用。
  • 從內容上分,設計模式僅是一個單純的設計,這個設計可被不同語言以不用方式來實現;而框架則是設計和代碼的一個混合體,編程者可以用各種方式對框架進行擴展,進而形成完整的不同的應用。
  • 框架一旦設計成形,雖然還沒有構成完整的一個應用,但是以其為基礎進行應用的開發顯然要受制于框架的實現環境;而設計模式是與語言無關的,所以可以在更廣泛的異構環境中進行應用。
    參考引入: 架構、框架、設計模式之間的關系簡述
不經意間找到的說明其關系的

框架通常是代碼重用,而設計模式是設計重用,架構則介于兩者之間,部分代碼重用,部分設計重用,有時分析也可重用。
在軟件生產中有三種級別的重用:

  • 內部重用,即在同一應用中能公共使用的抽象塊;
  • 代碼重用,即將通用模塊組合成庫或工具集,以便在多個應用和領域都能使用;
  • 應用框架的重用,即為專用領域提供通用的或現成的基礎結構,以獲得最高級別的重用性。

框架與設計模式雖然相似,但卻有著根本的不同。

  • 設計模式是對在某種環境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象;
  • 框架可以用代碼表示,也能直接執行或復用,而對模式而言只有實例才能用代碼表示;
  • 設計模式是比框架更小的元素,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定應用領域,但同一模式卻可適用于各種應用。

可以說,框架是軟件,而設計模式是軟件的知識。
參考引入:某知乎回答

四、組件化初步的認知?

對于這個概念,還沒有具體的認知,先通過兩個圖來豎立下核心思想:

以前的開發
組件化思想的轉變

目前具體的來說,對于個人來說,就是下面兩個問題啦:

  • 如何劃分模塊?
  • 中轉站怎么用?

此處還需要好好實踐和思考,具體的描述和理解等到下一篇再來記錄。。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,833評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 具體參考Android設計模式源碼解析之責任鏈模式 就像事件流一樣,一個申請會向上級層層匯報,獲得處理。程序猿狗屎...
    合肥黑閱讀 157評論 0 0
  • 兩年前跟團來過馬德里,住在遠離市區的酒店,又因為暈車,飯也沒有好好吃過一頓。對馬德里的印象只有旅游行程單上的幾個著...
    此木上海閱讀 811評論 0 0