开启 J2EE(七)— Model1、Model2和三层架构的演变
Model1和Model2是Javaweb開發的兩種常見的模型。Model1是jsp+javabean的模式,Model2是jsp+servlet+javabean的模式。
JavaBean就是將邏輯處理、數據庫訪問等等,在java中對對象進行的打包(相應下文圖中的業務邏輯)。
以下就詳細的認識認識:
?
一、Model1
在Model1模型中,是以JSP為中心,這樣的模型中JSP既要做頁面顯示。又要結合業務邏輯處理服務端過程,簡單說就是Model1開發沒有Servlet,JSP中既有HTML代碼又有邏輯代碼。JSP頁面的交互通過頁面里的鏈接完畢。
Model1結構圖例如以下:
?
注:業務邏輯層不同有之前三層中的業務邏輯層。這里的業務邏輯層既有業務處理又有數據訪問。
?
長處:架構相對簡單。適合小項目,業務簡單的項目。
缺點:JSP的職責不單一,職責過重,依據設計模式的思想就是耦合性太高,不便于系統的維護。
事實上我們通常把Model1作為一個基礎來學習J2EE的開發流程。
?
二、Model2
由于Model1的缺點太過明顯,在Model1的基礎上。Model2對JSP的任務進行分離,將獲取參數。調用邏輯這些和頁面顯示無關的轉到Servlet處理,JSP僅僅做顯示就可以。
Model2結構圖例如以下:
?
圖中已經標出,Model2事實上MVC的應用。
在.NET中學習三層時就和MVC對照過,對MVC的理解也僅僅是通過三層去理解的MVC的語義。只是如今看來,通過對Model2的使用。事實上沒有什么可比性的。可是其思想還是同樣的,都通過分層去解耦,使系統變得更加靈活,更好的適應需求的變化,可以更好的進行人員分工。
?
三、三層架構
在實際的開發過程中通常還會把當中的業務邏輯再進行分離。分出持久層(數據訪問),目的還是為了劃分職責。形成我們經常使用的三層架構:
表示層:JSP/Servlet
業務邏輯層:業務邏輯處理
持久層:主要包裝持久化邏輯
三層結構圖例如以下:
?
?
四、總結
Model1、2和三層共同之處都在分層思想的體詳細現。終于目的是在結構式去實現一個高內聚低耦合,然而到我們詳細的項目開中。分層的思想,架構的依托,不僅于此,更重要的還是抽象。層與層之間最好依賴于抽象,每一層都建立一個抽象,怎樣去抽象,更好的抽象,這是我們每一個人都要思考的。
轉載于:https://www.cnblogs.com/xfgnongmin/p/10804632.html
總結
以上是生活随笔為你收集整理的开启 J2EE(七)— Model1、Model2和三层架构的演变的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj1655Multiplicatio
- 下一篇: 建设银行一类卡和二类卡是什么意思