淺談MVC與三層架構

來源:互聯網
上載者:User

首先給大家引入下MVC的概念:

MVC(Model View Controller)模型、視圖以及控制器,它是一種較為廣泛應用的結構設計模式。

模型:就是在MVC設計模式中需要被顯示的資料。在通常情況下,該模型需要從資料庫中讀取資料、儲存模型的狀態等,提供資料的存取方法以及資料的維護。

視圖:就是用來顯示模型中資料的使用者介面,一般來書,視圖就是HTML頁面。

控制器:就是用來處理對使用者的輸入或者互動命令,以便改變模型的狀態,選擇適當的視圖來顯示對應的模型資料。

工作機制如右圖所示:

(1)使用者向控制器發出請求。

(2)控制器收到使用者請求後,向模型請求獲得相關的資料。

(3)模型將對應的資料返回給控制器。

(4)控制器將有關資料發送到指定的視圖。

(5)視圖將資料呈現給使用者。

通過上面的介紹相信大家對於MVC也有了一定的瞭解和認識,那麼MVC與原先我們學習過的三層架構到底有哪些相同點,又有哪些不同之處呢?

MVC與三層的共同點:

MVC與三層架構的觸發點事相同的——分層,解耦。它們都做到了顯示與資料的分離,大大降低了系統的耦合性。

但是從專業角度來說MVC與三層沒有任何關係,三層是三層,MVC是MVC。唯一能把他們聯絡在一起的就是“三”這個字了,不過從初學者的角度把二者放在一起區分起來學習也更容易理解。

MVC與三層的不同點:

可以說它們之間除了相同的剩下的全是不同點。它們有著各自的工作機制詳情請見:

三層中的UI在MVC中被分解為View和Controller,BLL和DAL被合并為Model。另外在三層中雖然叫做三層架構,但是我們可以根據需要分為多層。三層中也涉及到Model,但是三層裡面的Model跟MVC中的Model完全是兩回事,三層中的Model是表實體,而MVC中的Model中包括商務邏輯和資料訪問。

MVC對於Web Form的特點:

(1)易於單元測試

(2)容易實施測試驅動開發

(3)易於擴充和替換

(4)支援Web Form中的有關特性

(5)URL被映射到控制器

雖然MVC對於Web Form有一些新的特性,但是MVC並不能替代傳統的Web Form技術,這兩種技術只是應用在不同情境,具有不同的優、缺點。不能片面的說那種技術高那種技術低,開發人員需要根據自己的實際情況選擇相應的技術開發項目。以上是個人通過查閱相關資料對MVC於三層架構之間的一些認識,有不足之處,請大家批評指正。

以上就是淺談MVC與三層架構的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.