程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> 關於 J2EE 層次設計架構實例的分析詳解

關於 J2EE 層次設計架構實例的分析詳解

編輯:J2EE
層(layer)這個概念在計算機領域是非常了不得的一個概念。計算機本身就體現了一種層的概念:系統調用層、設備驅動層、操作系統層、CPU指令集。每個層都負責自己的職責。網絡同樣也是層的概念,最著名的OSI的七層協議。 

層到了軟件領域也一樣好用。為什麼呢?我們看看使用層技術有什麼好處: 

● 你使用層,但是不需要去了解層的實現細節。 

● 可以使用另一種技術來改變基礎的層,而不會影響上面的層的應用。 

● 可以減少不同層之間的依賴。 

● 容易制定出層標准。 

● 底下的層可以用來建立頂上的層的多項服務。 當然,層也有弱點: 

● 層不可能封裝所有的功能,一旦有功能變動,勢必要波及所有的層。 

● 效率降低。 

當然,層最難的一個問題還是各個層都有些什麼,以及要承擔何種責任。 

典型的三層結構 

三層結構估計大家都很熟悉了。就是表示(presentation)層, 領域(domain)層, 以及基礎架構(infrastructure)層。 

表示層邏輯主要處理用戶和軟件的交互。現在最流行的莫過於視窗圖形界面(wimp)和基於Html的界面了。表示層的主要職責就是為用戶提供信息,以及把用戶的指令翻譯。傳送給業務層和基礎架構層。 

基礎架構層邏輯包括處理和其他系統的通信,代表系統執行任務。例如數據庫系統交互,和其他應用系統的交互等。大多數的信息系統,這個層的最大的邏輯就是存儲持久數據。 

還有一個就是領域層邏輯,有時也被叫做業務邏輯。它包括輸入和存儲數據的計算。驗證表示層來的數據,根據表示層的指令指派一個基礎架構層邏輯。 

領域邏輯中,人們總是搞不清楚什麼事領域邏輯,什麼是其它邏輯。例如,一個銷售系統中有這樣一個邏輯:如果本月銷售量比上個月增長10%,就要用紅色標記。要實現這個功能,你可能會把邏輯放在表示層中,比較兩個月的數字,如果超出10%,就標記為紅色。 

這樣做,你就把領域邏輯放到了表示層中了。要分離這兩個層,你應該現在領域層中提供一個方法,用來比較銷售數字的增長。這個方法比較兩個月的數字,並返回boolean類型。表示層則簡單的調用該方法,如果返回true,則標記為紅色。 

例子 

層技術不存在說永恆的技巧。如何使用都要看具體的情況才能夠決定,下面我就列出了三個例子: 

例子1:一個電子商務系統。要求能夠同時處理大量用戶的請求,用戶的范圍遍及全球,而且數字還在不斷增長。但是領域邏輯很簡單,無非是訂單的處理,以及和庫存系統的連接部分。 

這就要求我們1、表示層要友好,能夠適應最廣泛的用戶,因此采用Html技術;2、支持分布式的處理,以勝任同時幾千的訪問; 3、考慮未來的升級。 

例子2:一個租借系統。系統的用戶少的多,但是領域邏輯很復雜。這就要求我們制作一個領域邏輯非常復雜的系統,另外,還要給他們的用戶提供一個方便的輸入界面。這樣,wimp是一個不錯的選擇。 

例子3:簡單的系統。非常簡單,用戶少、邏輯少。但是也不是沒有問題,簡單意味著要快速交付,並且還要充分考慮日後的升級。因為需求在不斷的增加之中。
        (責任編輯:包春林)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved