通常意義上的三層架構就是將整個業(yè)務應用劃分為表現(xiàn)層、業(yè)務邏輯層、數據訪問層。區(qū)分層次的目的即為了“高內聚,低耦合”的思想。曾把MVC模式和Web開發(fā)中的三層結構的概念混為一談,直到今天才發(fā)現(xiàn)一直是我的理解錯誤。在MVC的三個部件中,模型擁有最多的處理任務。
三層架構和mvc模式有什么關系
三層架構和MVC有明顯的區(qū)別。MVC應該是呈現(xiàn)方式(三層架構中只有UI層可以加起來)。三層架構(3-tier)一般是指將整個業(yè)務應用分為表示層(UI)、業(yè)務邏輯層(BLL)和數據訪問層(DAL)。差異化的目的是“高內聚低耦合”的思想。1.表示層(UI)是呈現(xiàn)給用戶的界面,也就是用戶在使用系統(tǒng)時看到的和得到的。2.業(yè)務邏輯層(BLL)針對具體問題的操作,也可以說是數據層的操作,數據業(yè)務的邏輯處理。3.數據訪問層。這一層的事務直接操作數據庫,目的是添加、刪除、修改、更新和搜索數據。是的,嚴格來說,三層架構中的UI層是三層加起來之后才出現(xiàn)的。也就是說,MVC將三層架構中的UI層分為控制器、視圖和實體三個部分。控制器完成頁面邏輯,通過實體與接口層通信,C層直接與三層中的BLL對話。Mvc可以是三層當中的表示層框架,屬于表示層。三層和mvc可以共存。第三層基于業(yè)務邏輯劃分,mvc基于頁面劃分。MVC主要用于表示層,三層主要用于架構。三層一般是表示層、中間層、數據層,表示層又可分為M、V、c,(視圖)模型-視圖-控制器曾經在Web開發(fā)中混淆了MVC模式和三層結構的概念,但直到今天都是我的誤解。MVC模式是GUI界面開發(fā)的指導模式?;诒硎緦臃蛛x的思想,將程序分為模型-視圖-三個部分,采用三角形結構。模型指的是數據和應用邏輯,視圖指的是模型的視圖,也就是用戶界面。兩者都很好理解,重點在于各自的角色以及相互之間的關系。在MVC模式下,視圖和視圖屬于表示層,通常成對出現(xiàn)。設計用于處理用戶交互的邏輯。一個常見的誤解是,它負責處理視圖和模型之間的交互,但實際上,視圖和模型可以直接通信。因為用戶交互通常涉及模型的改變和視圖的更新,這些都可以認為是副作用。MVC是表示層的架構,MVC的模型其實就是視圖要展示的數據。它不包含業(yè)務邏輯或數據讀取。在N層架構中,通常有一個模型層,用來對應數據庫的表,也就是O in ORM。這個模型可能是POCO,也可能是包含一些驗證邏輯的實體類,一般不包含數據讀取。讀取數據的是數據訪問層。MVC作為UI層,一般不直接操作數據訪問層,但是中間有一個業(yè)務邏輯層,封裝業(yè)務邏輯,調用數據訪問層。UI層()通過業(yè)務邏輯層獲取數據(模型),封裝(),然后選擇對應的視圖。MVC原本存在于程序中,M是指數據模型,V是指用戶界面,C是控制器。使用MVC的目的是將M和V的實現(xiàn)代碼分開,讓同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數據可以分別用柱狀圖和餅狀圖來表示。C的目的是保證M和V的同步,一旦M發(fā)生變化,V也要同步更新。MVC的工作原理MVC是一種設計模式,它強制要求將應用程序的輸入、處理和輸出分離開來。使用MVC的應用程序分為三個核心組件:模型、視圖和控制器。他們各自處理自己的任務。V view是用戶可以看到并與之交互的界面。對于舊的Web應用程序,視圖是由HTML元素組成的界面。在新的Web應用中,HTML仍然在視圖中扮演著重要的角色,但一些新技術也層出不窮,包括Flash,一些標記語言,如XHTML,XML/XSL,WML和Web。如何處理應用程序接口變得越來越具有挑戰(zhàn)性。MVC的一個很大的優(yōu)點是它可以為你的應用程序處理許多不同的視圖。事實上,視圖中沒有真正的處理,無論數據是在線存儲還是員工列表。作為視圖,它只是一種輸出數據并允許用戶操作數據的方式。型號M型號repr