天天看點

三層架構和MVC的差別

三層架構(3-tier architecture) 通常意義上的三層架構就是将整個業務應用劃分為:界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、資料通路層(Data access layer)。區分層次的目的即為了“高内聚低耦合”的思想。在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。微軟推薦的分層式結構一般分為三層,從下至上分别為:資料通路層、業務邏輯層(又或稱為領域層)、表示層。

1:資料通路層:主要是對非原始資料(資料庫或者文本檔案等存放資料的形式)的操作層,而不是指原始資料,也就是說,是對資料庫的操作,而不是資料,具體為業務邏輯層或表示層提供資料服務。

2:業務邏輯層:主要是針對具體的問題的操作,也可以了解成對資料層的操作,對資料業務邏輯處理,如果說資料層是積木,那邏輯層就是對這些積木的搭建。

3:界面層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx,如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。

與MVC的差別

MVC(模型Model-視圖View-控制器Controller)是一種架構模式,可以用它來建立在域對象和UI表示層對象之間的區分。

同樣是架構級别的,相同的地方在于他們都有一個表現層,但是他們不同的地方在于其他的兩個層。

1.在三層架構中沒有定義Controller的概念。這是最不同的地方。

2.MVC也沒有把業務的邏輯通路看成兩個層,這是采用三層架構或MVC搭建程式最主要的差別。

3.在三層中也提到了Model,但是三層架構中Model的概念與MVC中Model的概念是不一樣的,“三層”中典型的Model層是由業務邏輯與通路資料組成的。而MVC裡,則是以實體類構成的。

繼續閱讀