MVC和三層架構


MVC和三層架構

標簽(空格分隔): 架構 設計模式


三層架構

三層架構指的是: 視圖層(View),服務層(Service)和持久層(DAO). 他們分別負責不同的功能.

單純就是指后台的設計架構

這種架構模式是從微軟來的, 微軟提倡這種架構模式並且在 零幾年的時候給了一個寵物商店的Demo 用於示范(有一點記不清了.).

  1. View層: 用於接收用戶提交請求的代碼.
  2. Service層: 系統的業務邏輯層主要在這里完成.
  3. DAO層: 直接操作數據庫的代碼.
  • 為了更好的降低各層次之間的耦合度, 在三層架構程序設計中, 采用面向抽象編程(接口編程). 即上層對下層的調用是通過接口實現的. 而下層對上層的真正服務提供者, 是下層接口的實現類. 服務標准(接口)是相同的, 服務提供者(實現類)可以替換, 這就實現了層間解耦合.

MVC模式

MVC指的是: Model(模型), View(視圖)和Controller(控制器).

包括前台和后台, 這里省略了Service層. 其實自己寫的話一般情況下經常把Service層省略掉, 設計好Controller和Model(控制器和數據庫),然后開始設計前端交互.

  1. View:視圖 最頂層, 為用戶提供使用界面, 和用戶直接進行交互, 是程序的外殼.
  2. Model:數據層 最底層, 是核心的數據層, 程序需要操作的數據或信息.
  3. Controller: 控制層 負責根據用戶從View層輸入的指令, 選取"數據層"中的數據, 然后對其進行相應的操作, 產生最終的結果.

  • MVC是一種軟件設計典范, 用於中業務邏輯, 數據,頁面實現分離的方法組織代碼, 將業務邏輯整合到一個部件里面, 在改進和個性化定制界面以及用戶交互的同時不需要重寫編寫業務邏輯, 實現業務邏輯和前端界面的分離. MVC被獨特的發展起來用於映射傳統的輸入,處理和輸出功能在一個邏輯的圖形化用戶界面的結構.
  • MVC最開始是用於桌面程序當中, M指的是業務模型, V指的是用戶界面, C指的是控制器. 使用MVC設計模式的目的是 在桌面應用程序軟件將MV分離, 之前的設計模式都是, 將數據從數據庫中取出之后直接開始渲染界面, 如果中間加上Controller層, 我們可以讓Model只負責和數據庫進行交互操作, Controller負責處理數據 這樣可以實現較多的代碼復用, 減少代碼冗余和降低耦合性.
  • 提高開發速度, 采用並發開發的模式, 在不依賴業務邏輯的情況下專注於視圖設計. 反之亦然.

框架和設計模式的區別

  • 框架和設計模式混淆, 認為MVC是一種設計模式. 實際上框架和設計模式是完全不同的概念.
  1. 框架: Spring(MVC),Django(MTV).
  2. 設計模式: 工廠模式,適配器模式,策略模式.
  • 框架注重的是代碼重用, 而設計模式注重的是設計重用, 架構介於兩者之間,部分代碼重用,部分設計重用,有時分析也可以重用. 在軟件生產中有三種級別的重用: 內部重用,即在同一應用中能為公共使用的抽象塊; 代碼重用: 即將通用模塊組合成庫或者工具集, 以便在多個領域和應用都能使用;應用框架的重用,即為專業領域提供通用的或者現成的基礎結構, 以獲得最高級別的重用性.
  • 框架和設計模式雖然相似, 但是卻有最根本的區別. 設計模式是在某種特定的環境中反復出現的問題以及解決該問題的方案的描述, 它比框架更加的抽象; 框架可以用代碼表示, 也能直接執行或者復用, 而對設計模式而言只有實例才能用代碼表示, 設計模式是比框架更小的元素, 一個框架中含有一個或者多個設計模式, 框架總是針對某一個特定領域,但設計模式卻可以針對各種應用領域.可以說框架是軟件,設計模式是軟件的知識.

框架是大智慧, 用來對軟件設計進行分工. 設計模式是小技巧, 對具體的問題提出具體的解決方案, 提高代碼的復用率降低耦合度.


  • 所有的設計模式和架構, 基本上都是為了高內聚低耦合,提高開發速度之用.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM