WEB項目的分層結構


WEB項目的分層結構

       大部分的WEB應用在職責上至少被分成四層:表示層、持久層、業務層和域模塊層。

一、             表示層

一般來講,一個典型的WEB應用的前端應該是表示層,可以使用Struts框架。

下面是Struts所負責的:

1、  管理用戶的請求,做出相應的響應。

2、  提供一個流程控制,委派調用業務邏輯和其他上層處理。

3、  處理異常。

4、  為顯示提供一個數據模型(即把數據對象設置到某一個范圍內,用於前台獲取數據)。

5、  用戶界面的驗證。

以下內容,不該在Struts表示層的編碼中經常出現,它們與表示層無關的。

1、  與數據庫直接通信。

2、  與應用程序相關聯的業務邏輯有校驗

3、  事務處理。

二、             持久層

典型的WEB應用的后端是持久層。可以用Hibernate實現。Hibernate的持久對象是基於POJO(Plain Old Java Object)和Java集合的。

下面是Hibernate所負責的內容:

1、  如何查詢對象的相關信息。

Hibernate是通過一個面向對象查詢語言(HQL)或正則表達的API來完成查詢的。HQL非常類似於SQL,只是把SQL里的table和columns用Object和它的fields代替。

2、  如何存儲、更新、刪除數據庫記錄。

3、  Hibernate這類高級ORM框架支持大部分主流數據庫,並且支持父表/子表關系、事務處理、繼承和多態。

三、             業務層

一個典型WEB應用的中間部分是業務層或服務層。可以用Spring來實現。

下面是業務層所負責的:

1、  處理應用程序的業務邏輯和業務校驗。

2、  管理事務。

3、  提供與其他層相互作用的接口。

4、  管理業務層級別的對象的依賴。

5、  在表示層和持久層之間增加一個靈活的機制,使得他們不直接聯系在一起。

6、  通過揭示從表示層到業務層之間的上下文來得到業務邏輯。

7、  管理程序的執行(從業務層到持久層)。

四、             域模塊層

既然我們致力於一個WEB的應用,我們就需要一個對象集合,讓它在不同層之間移動。域模塊層由實際需求中業務對象組成,比如訂單明細、產品、等。開發者在這層不用管哪些數據傳輸對象,而關注域對象即可。例如,Hibernate允許你將數據庫中的信息存入域對象,這樣你可以在連接斷開的情況下把這些數據顯示到用戶界面層,而那些對象也可以返回給持久層,從而在數據庫里更新。而且,你不必把對象轉化成DTO(這可能導致它在不同層之間傳輸過程中丟失)。這個模型使得Java開發者能很自然運用面向編程,而不需要附加編碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM