j2ee系統構架

很多時候,真理總是那樣簡潔,樸質,沒有長篇大論。我在學習很多東西的時候,都希望找到一篇言簡意賅的文章,能讓我領悟這個領域的關鍵,至於細節,我可以藉助GOOGLE和工具書完成。在j2ee系統構架領域,這正是本文希望做到的。

J2EE是java在數據庫和網絡上的一種應用。

j2ee系統構架的核心問題是進行邏輯分層,分層結構讓系統鬆耦合。人們在這個領域的所有努力都是爲了讓軟件易於開發,擴展和維護。目前,j2ee系統已經形成了成熟的六層分層模式,即:表現層,控制層,業務層,DAO層,持久化層和數據庫層。各層都封裝了各自的實現細節,且單層的實現是非常簡單的。既然我們將系統分層了,如何讓各層既能良好的通信,又能鬆散耦合?

我們知道,在java中,萬事萬物都是以class類文件封裝的,萬事萬物的通信,都是對象之間的通信。j2ee各層的通信,實際上就是各層對象之間的通信。如何恰到好處的創建所需的對象,成爲了系統的關鍵——只要創建了對象,調用他們的方法,就可以通信了。

目前有兩種處理方式,第一種是實用接口和工廠模式,第二種是使用Spring。

系統設計的時候,思維應該從下到上,上層依賴下層,下層封裝了實現細節,只對上層曝露接口。

數據層:數據庫,持久化對象(PO)儲存的媒介。
持久層:映射到數據庫對應的表,以便以面向對象設計和思維。
DAO層:封裝了將持久化對象和數據庫的各種SQL操作
業務層:把業務邏輯封裝爲一個對象。這個對象可以包括一個或多個其它的對象。
比如一個簡歷,有教育經歷、工作經歷、社會關係等等。
我們可以把教育經歷對應一個PO,工作經歷對應一個PO,社會關係對應一個PO。
建立一個對應簡歷的BO對象處理簡歷,每個BO包含這些PO。
這樣處理業務邏輯時,我們就可以針對BO去處理。
控制層:參數的處理和數據流程的跳轉。
表現層:提供用戶接口,收集用戶操作信息,相應用戶操作返回信息。

這六層各自負責各自的職責,既獨立,又合作,完成對業務的操作。

j2ee系統,其實就是一個不斷封裝(隱藏)的系統,有的隱藏是爲了讓系統鬆耦合,有的隱藏是爲了簡化系統的開發。j2ee中,在jdk和jre中隱藏了底層操作。web容器和ejb容器也是在隱藏,對象文檔模型也是隱藏。

爲了讓開發人員不再被一些亂七八糟的實現細節隱藏,人們做了很多努力,比如中間件,各種框架,以及各種互助工具。目前已經取得很大的進步。既然實現細節隱藏了,對開發人員要求的重點從具體編寫代碼轉移到了業務分析領域。即使現在,J2EE的主要問題,也已經轉移到了業務上來。在擁有一定的編程基礎和經驗的同時,競爭體現爲對業務理解的深度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章