【Java架構學習】MVC和三層架構的區別
其實這篇部落格的重點不是介紹三層架構,是重點介紹MVC並幫助理解MVC。學了這麼久MVC發現對它的理解還存在很多誤區,今天就來好好整理一下MVC。
MVC即Model-View-Controller,其中M-V-C各代表什麼,我想即使我不一一列舉大家也都瞭然於胸了。因為太熟悉了,就像我們當初學習三層架構一樣,時間長了U-B-D各代表什麼含義信手拈來。但是我想說的是,我們是否對MVC的認識也只是停留在表面?
哎呀,還是說一下吧,不說心裡難受。總所周知,在MVC中,代表的具體含義如下:
M——Model,模型,處理應用程式中資料邏輯部分
V——View,檢視,是資料顯示部分
C——Controller,控制器,是處理使用者互動部分,負責從檢視中讀取資料並向模型傳送資料等。
”。但是我的理解可能有些不一樣。三層架構相對而言權責界限分明,分工明確,相互不過問超出各自職權的事,中間靠實體進行互動。
而我理解的MVC架構模式:
V是介面顯示,相當於三層架構的U層;
M層模型層,相當於三層架構中的B層、D層和實體層,因為我理解M層負責的是和資料庫互動和業務邏輯部分;
C層控制層,負責的是從瀏覽器中獲取請求,然後按照相應的要求將使用者洗洗腦傳遞給模型,告訴模型要做什麼。
上面這張圖也許會幫助我們更好的理解MVC。除此之外,有人提過,說C層沒有任何業務邏輯。這一點我也有不同的意見,這就要看你較不較真了,要是真較真兒,
可能我認識的MVC跟網上出現的觀點不太一樣,至於孰對孰錯,這個待以後繼續深入學習後再做評判。下篇文章我將繼續MVC的內容,討論一下Model1和Model2,敬請期待吧!