首先通過軟件開發中常見的MVC模式理解架構:
M(Model):模型層負責向視圖層提供數據,並處理應用程序中數據邏輯的部分。通常數據模型唯一負責在數據庫中存取數據。
V(View):視圖是依據數據模型創建,負責其中數據的顯示。
C(Controller):應用程序中處理用戶交互的部分。負責從視圖讀取數據,控制用戶的輸入,並向模型層發送數據。
注:虛線為“控制輸入”或“控制顯示”的概念。
優點:
MVC架構簡化了應用程序開發的分層復雜度,不同開發人員可以負責(專注)應用程序某一部分的開發活動。
在大型應用軟件開發過程中,“高內聚低耦合”的架構思想降低了開發者之間的合作難度。
(優點的體現)開發人員細分后的工作——
控制層模塊:也成為持久層。控制用戶輸入數據格式,從視圖讀取數據,並向模型發送數據。
業務邏輯:開發人員根據企業數據與業務規則,進行系統代碼邏輯的設計,擁有最多的處理任務。同一模型可為多個視圖提供數據(展現了可復用性)。
視圖層:UI(User Interface)對用戶界面進行設計,主要負責確定界面樣式,交互方式及美觀程度。並將設計后的原型圖移交前端工作人員進行對等實現。
再說說框架與架構的不同?
一句話概括 框架(Framework)是一種軟件,而架構(Architecture)是一種設計策略。
框架即是軟件,是一種軟件組件(組件是對數據和方法的簡單封裝)。它們互相協作並提供了針對某個給定的問題領域中的應用程序提供了可復用的專用解決方案。框架提供的服務將被最終應用系統所調用,而開發人員可定制框架提供的“擴展點”。
架構並非軟件,而是軟件設計的重要策略。MVC是一種典型的架構,涉及到如何將軟件系統分解成不同的部分、各部分之間的“靜態結構關系”及“動態交互關系”。架構是軟件設計的整體輪廓,由多個層次代碼組合起來的抽象概念。
“先大局后局部,就出現了架構;先通用后專用,就出現了框架”
架構是問題的抽象解決方案,它關注大局而忽略細節;而框架是通用半成品,還必須根據具體需求進一步定制開發才能變成應用系統。