1. 程式人生 > >javaEE體系架構

javaEE體系架構

數據訪問層 不同 spring 層次 col 跳轉 face 個性 表的操作

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體系架構