1.model1
優點:架構簡單,比較適合小型專案開發
缺點:jsp的職責不單一,職責過重,不便於維護
2.model2
model2,其實就是mvc的應用:
(1)c(controller),控制器(見下圖中的servlet層),主要職責:
1.取得表單引數
2.呼叫業務邏輯
3.轉向頁面
(2)m(model),模型(見下圖中的業務邏輯層),主要職責:
1.業務邏輯
2.儲存資料的狀態
(3)v(view),檢視(見下圖中的jsp層),主要職責:
1.顯示
優點:職責清楚,較適合大型專案架構
缺點:不適合小型專案開發(主要是層分的太多)
model2在model1的基礎上分離了控制,分層主要為了好管理,能更好的適應需求的變化,能夠更好地進行人員分工。
3.三層架構
下圖為非常典型的三層架構:
表示層:jsp/servlet
業務邏輯層:業務規則
持久化層:主要包裝持久化邏輯
為什麼抽取持久化層?
主要是為了持久層的改變不影響業務邏輯層,主要還是為了劃分職責。
4.層與層之間的依賴
表示層、業務邏輯層、持久層是:
(1)自上而下的依賴
(2)單向依賴
(3)依賴於抽象,不依賴於具體,依賴於介面,不依賴於實現。
三層之間最好依賴於抽象,每一層都建立出乙個抽象,如:我們的程式對jdbc的依賴,就是依賴了它的抽象層,我們和jdbc是單向依賴,我們只呼叫jdbc,jdbc實現不會呼叫我們的程式。如果jdbc實現呼叫了我們,那麼此jdbc實現將和我們的程式有嚴重的依賴,無法擴充套件了。
柱面模型解析
柱面全景是最為簡單的全景虛擬。所謂柱面全景,可以理解為以節點為中心的具有一定高度的圓柱形的平面,平面外部的景物投影在這個平面上。如圖所示。使用者可以在全景影象中 360 度的範圍內任意切換視線,也可以在乙個視線上改變視角,來取得接近或遠離的效果,也可以認為是球面全景圖的一種簡化。使用者在水平方向上有...
開發模型 瀑布模型
1 是線性模型的一種,在所有模型中占有重要的位置,是其他模型的乙個基礎。2 每乙個階段執行一次,按線性順序進行軟體開發。測試切入點 測試階段屬於軟體後期階段,必須在 完成時留出足夠的時間給測試活動,否則導致測試不充分,很多問題在後期暴漏。瀑布模型優點 1 開發各個階段比較清晰 2 強調早期計畫及需求...
模型驅動開發 基本模型 外掛程式模型的開發方法
任何乙個複雜的系統都應該存在簡單的規則,可以使用一些基本元素組合構建而成。這樣的系統在數學上被認為是簡潔和優美的。這一點在軟體中最容易歸納出來。人們也一直試圖找出一種簡潔方便方法和系統來構建軟體。軟體的乙個特性是相似性。我們寫過大量 後會發現 很多 都有相當程度的相似性。我們每個人每天只是重複寫其他...