javaEE體系架構

來源:互聯網
上載者:User

標籤:領域模型   體系架構   access   資料處理   img   通訊   log   spring   alt   

1、兩層架構

  簡單將系統分為前台(視圖)、後台(模型)。

  前台:即jsp、el和jstl等頁面的表示

  後台:商務邏輯層與展示層或資料層混在一起。

  沒有任何中介軟體,開發、部署、擴充、維護困難。

  如:jsp+servlet(+Dao)、jsp+javaBean(+Dao)

2、MVC設計模式

  MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。

  1. 模型:模型層負責封裝應用的狀態,並實現資料處理和商務邏輯。
  2. 視圖:視圖層負責資料的顯示與提交。
  3. 控制器:負責控制視圖層發送的請求以及程式流程的控制。

 

  MVC一個籠統的設計模式,要求把應用的模型按一定的層次規則抽取出來,將商務邏輯聚集到一個組件裡面(模型),控制器控製程序流程,在改進和個人化定製介面及使用者互動的同時,不需要重新編寫商務邏輯。

  

                                   

  MVC提供了讓模型和視圖相分離的思路——提取出專門的控制器。我們把頁面跳轉關係管理、流程式控制制、表單資料的封裝及驗證、國際化等任務交給控制器處理。如java開發中,jsp專註視圖、servlet專註控制、javaBean處理邏輯。構成jsp+servlet+javaBean的MVC開發模式。

 

  Controller被設計為處理使用者互動的邏輯。一個通常的誤解是認為Controller負責處理View和Model的互動,而實際上View和Model之間是可以直接通訊的。為了實現視圖與商務邏輯的解耦,才加入controller這個中介層。

 

3、Dao設計模式

  DAO即Data Access Object,資料提供者。資料訪問:故名思義就是與資料庫打交道。夾在商務邏輯與資料庫資源中間,在model層將商務邏輯與資料訪問分離。

 

  四個組件:

    DBUtils工具類---負責資料庫的串連與關閉

    Dao介面---定義增刪該查的抽象方法,一個領域模型對應一個Dao介面。

    Dao介面的實作類別

    VO值對象---一個VO對應一個資料表,便於把對資料表的操作轉化成對java類的操作。

 

 

4、三層架構的軟體設計體系

三層架構(3-tier architecture) 將整個業務應用劃分為:表現層(User Interface layer)、商務邏輯層(Business Logic Layer)、資料訪問層(Data access layer)。

區分層次的目的即為了“高內聚低耦合”的思想。在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構。

  表現層(UI):展示層由處理使用者互動的用戶端組件及其容器所組成(html、css、js、jsp、el和jstl等);

  商務邏輯層(BLL):商務邏輯層由解決業務問題的組件組成;

  資料訪問層(DAL):資料層由一個或多個資料庫組成,並可包含預存程序。

 

三層架構思想,是一種籠統的架構思想,沒有限制具體的設計,三層是縱向的、下層向上層提供服務。

 

一般具體實現:用MVC設計模式解耦表現層和商務邏輯層;Dao設計模式作資料訪問層。

 

5、javaEE中的開發模式

  開發模式:即軟體設計套路;選擇架構結構填充代碼的軟體開發方式(這裡的架構是按照三層架構思想、MVC和Dao等設計模式具體實現軟體的成熟架構結構)

 

  1、適合規模較小的軟體系統(兩層架構)

      jsp+servlet

      將資料訪問抽象出來:jsp+servlet+Dao設計模式

 

  2、適合較大規模的軟體系統(三層架構)

      jsp+servlet+javaBean

      將資料訪問抽象出來:jsp+servlet+javaBean+Dao設計模式

 3、流行架構:ssh(structs+spring+hibranate)

 

  1.  jsp、el和jstl對應展示層
  2.  struts對應控制層
  3.  spring+hibranate對應商務邏輯層

    

 

 

總結:分層的具體界限並不一定,根據軟體規模甚至功能模組的複雜性有所不同。總之,理解三層架構的軟體體系思想,結合MVC、Dao等模式,根據項目規模、複雜性等具體問題具體解決。

javaEE體系架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.