SSH學習之MVC和三層架構的區別

在學習SSH過程中總是會遇到這樣的問題:MVC和三層架構是不是一個概念?肯定的說,他兩就不是一個概念。所以就總結了一下自己的看法。可能會有理解錯誤的地方,希望可以交流交流。

二者混淆的原因

二者都是表現出了“三層”結構的思想,對於初學者而言,容易理解錯。


二者在項目的構建過程中都會使用到。


二者的使用都是爲了實現低耦合高內聚的目標。


二者概念不同

MVC是一種設計模式,百度定義是:是軟件工程中的一種軟件架構模式,把軟件系統分爲三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。

三層架構,通常意義上的三層架構就是將整個業務應用劃分爲:表現層、業務邏輯層、數據訪問層。區分層次的目的即爲了“高內聚,低耦合”的思想。

那麼架構跟設計模式有什麼區別呢?

從一個項目開,首先,我們需要進行架構設計,一般我們採用的就是分層式的架構設計,即我們的三層架構。然後,在確定了架構以後,我們再根據項目的具體需求去考慮是否需要應用一些設計模式,比如是否應用我們的MVC模式。

二者劃分層次不同

三層架構將項目劃分爲表現層、業務邏輯層、數據訪問層三層。


MVC即爲模型(Model)、視圖(View)、控制器(Controller)。


同樣是三層結構但是他們的對應關係並不是一一對應的,他們的關係應該是:控制器和視圖構成表現層,而模型又劃分爲業務邏輯層和數據訪問層。比如Struts就在SSH框架中擔當了表現層的角色,它負責調用業務邏輯和視圖的跳轉和渲染。

二者使用範圍不同

MVC設計模式是一種設計創建WEB應用程序的模式。主要應用於web項目中。

三層架構是一個分層式的軟件體系架構設計,它可適用於任何一個項目。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章