【我要成爲架構師 1.0------架構模式與設計模式的區別詳解】

架構模式與設計模式

區分

架構模式(Architecture Pattern)內可以用設計模式(Design Pattern),但設計模式內無法用架構模式。

例如

MVC架構模式

  • Model
    • 可以採用代理模式設計,data source(在Local端代理Remote(遠端)的服務,比如ContentProvider,跨進程索引數據,通過本進程的)
    • 數據庫連接時的橋接模式
    • 獲取服務器數據流的 裝飾者模式
  • MVC的架構VC層可以用 觀察者模式 進行分發事件
  • View層,View與ViewGroup的 組合者模式,ListView的數據接口綁定的適配器模式

然而在上述的設計模式中採用 架構模式,都是不合常理的。 比如上述 代理模式內怎麼採用MVC?怎麼劃分出View?

類比

類比於建築行業

架構

多少個房間、多少個梯子、哪裏放空調

設計

室內設計,旋轉樓梯、直梯、扶梯,立式空調、

例子

架構模式 舉例

  • MVC、MVP、MVVM
  • Microservice
  • Peer-to-Peer
  • Event-driven architecture

設計模式

23種設計模式:

  • 組合模式
  • 單例
  • 命令
    等等

最後什麼是架構

  1. 解決一類的問題
  2. 達成共識

詳細

  • 是指在特定上下文中對 常見軟件架構中常見問題的 通用、可重用的解決方案。
  • 類似於軟件的設計模式(Softwar Design Pattern),但使用範圍(scope)更加廣泛。
  • Architecture Pattern用於解決軟件工程中的各種問題,例如
    • 計算機的硬件限制
    • 高可用性
      • (系統的特性:確保系統操作性高於一般水平)
    • 最低的商業風險

儘管AP(ArchitecturePattern)傳遞了系統的鏡像(image of system),但鏡像並不是AP,AP是一種理念,用於解決和描繪軟件架構的終於組成元素。不同的Architecture可能使用着相同的Pattern,並共享着相關的特性。Pattern被定義爲“嚴格的描述和通用的理解性(Strictly described and commonly available)”。

  1. 解決一類的問題
  2. 達成共識
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章