PetShop4.0採用了多層應用程式體繫結構,並且應用了“反射注入”技術,簡間抽象原廠模式,策略模式和面板模式,從而構建了一個高內聚,低耦合的,易於擴充和維護的,適合於團隊開發的小型企業分布式應用系統。並且其中使用了很多ASP.NET2.0的新特性,可以說是一個典型的學習案例項目。下面請看體繫結構圖:
接下來分別介紹一下種個應用程式層的內容:
1. 展示層:
PetShop4.0的展示層由以下幾個部分組成:一是實現常見的使用者介面部分。例如:寵物類別的資訊、單個寵物詳細資料列表、搜尋等。二是實現成員管理和使用者配置的部分,例如:使用者登陸/退出,註冊新使用者、維護使用者資訊、購物車、意向清單等。三是實現SQL資料緩衝依賴的部分。這主要是一些針對Category、Item和Product表的緩衝依賴內容。四是實現處理來自訊息佇列非同步訂單,這部分實現包含在OrderProcessor控制台應用程式中。以上內容主要利用了ASP.NET表單、使用者控制項、主版頁面、Wizard、登陸系列控制項,各種類等。
2. 商務邏輯層
商務邏輯層包含寵物商店與核心業務相關的邏輯。例如,Category,Product、Inventory、Items和Cart類。以Cart類為例,該類實現購物車功能,其中包括擷取購物車商品的數量、設定單個寵物的購賣數量,計算總價、添加/刪除寵物等多個方法。另外,商務邏輯層中還包括實現訂單的Order.實現訂單處理有兩種方式,一種是同步訂單處理,另一種是非同步處理。
3. 資料訪問層
資料訪問層包括與資料存放區進行互動的多種組件。這些組件在功能上和商務邏輯層相互獨立。PetShop4.0的資料訪問層包括以下幾個部分:一是實現針對Oracle資料庫的成員資格提供者(針對SQL Server 資料庫成員資格提供者為ASP.NET2.0內建)。二是實現自訂使用者配置提供者,包括針對Oracle和SQL Server兩種類型。三是實現部分商務邏輯所需要的資料訪問訪問功能,例如,Item、Category、Order、Inventory、Product類等。四是實現訊息佇列訪問功能。
4. 資料存放區
PetShop4.0支援多種資料存放區方式,例如,SQL Server2000/2005、Oracle10g.如果需要將資料存放區在其它類型資料來源中,則必須自訂資料訪問層。另外,為了實現非同步訂單處理,PetShop4.0中使用了訊息佇列MSMQ.
5. 物件模型
物件模型也稱為業務實體。主要用於表示資料存放區中的持久對象。簡單地說,業務實體可以類比為一個或多個邏輯表,內容可能來自於一個或者多個資料庫中的表中的欄位。
結束。