WEB項目的分層結構(轉)

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

[b]一、 表示層[/b]

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

下面是Struts所負責的:

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

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

3、 處理異常。

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

5、 用戶界面的驗證。

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

1、 與數據庫直接通信。

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

3、 事務處理。

[b]二、 持久層[/b]

典型的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框架支持大部分主流數據庫,並且支持父表/子表關係、事務處理、繼承和多態。

[b]三、 業務層[/b]

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

下面是業務層所負責的:

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

2、 管理事務。

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

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

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

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

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

[b]四、 域模塊層[/b]

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


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lsgsunny/archive/2009/04/03/4022831.aspx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章