petshop 4.0實現細節研究


petshop 4.0

支持多種數據庫,數據庫都MODEL 化。數據操作層DBUTILITY. 工廠模式

基本功能實現BLL----DALFactory(工廠層)---IDAL(接口層) --SQLServerDAL(數據層實現接口層)

根據WEB.CONFIG配置<add key="WebDAL" value="PetShop.oracleDAL"/>,數據層也可以由oracleDAL層實現。

訂單除了由上面方式實現外,還有一種異步實現方式實現

Synch(同步方式)

BLL -  IBLLStrategy層(實現了訂單工廠層接口層合2爲1)--根據接口層實現配置<!-- Order processing options (Asynch/Synch) -->
  <add key="OrderStrategyAssembly" value="PetShop.BLL"/>(訂單處理邏輯層)---BLL的實現邏輯層類這裏是爲BLL-----  根據

<add key="OrderStrategyClass" value="PetShop.BLL.OrderSynchronous"/>(訂單處理類分同步、異步處理類)----找到實現的同異步

方式--如果是同步方式----數據層實現爲DALFactory中定義的訂單數據實現---根據DALFactory中<add key="OrdersDAL"

value="PetShop.SQLServerDAL"/>定義確定具體數據層實現--IDAL---DAL

Asynch(異步)

BLL -  IBLLStrategy層(實現了訂單工廠層接口層合2爲1)--根據接口層實現配置<!-- Order processing options (Asynch/Synch) -->
  <add key="OrderStrategyAssembly" value="PetShop.BLL"/>(訂單處理邏輯層)---BLL的實現邏輯層類這裏是爲BLL-----  根據

<add key="OrderStrategyClass" value="PetShop.BLL.OrderSynchronous"/>(訂單處理類分同步、異步處理類)----找到實現的同異步

方式--如果是異步方式---數據工廠層MessagingFactory層----IMessaging(消息隊列層 異步)---根據<add key="OrderMessaging"

value="PetShop.MSMQMessaging"/>----數據層PetShop.MSMQMessaging確定

緩存結構(只對SQLSERVER有效ORACLE還沒有處理返回的爲空,使用ORACLE時要保持的WEBCONFIG此配置節爲空)緩存應用了SQL緩存鍵依賴項

web層的APP_CODE代碼中處理邏輯層----PetShop.CacheDependencyFactory(工廠層) ---PetShop.ICacheDependency(接口層)--

-PetShop.TableCacheDependency(數據緩存層)
SQL緩存鍵依賴項實例
AggregateCacheDependency cd = DependencyFacade.GetCategoryDependency(); 創建依賴項

HttpRuntime.Cache.Add(cacheKey, data, cd, DateTime.Now.AddHours(cacheDuration), Cache.NoSlidingExpiration,

CacheItemPriority.High, null);

protected AggregateCacheDependency dependency = new AggregateCacheDependency();
dependency.Add(new SqlCacheDependency(dbName, tableName));  此處是增加依賴代碼根據數據庫名和表名
return dependency;


Profile實現購物車 WEB.CONFIG存在一下三個PROFILE
ShoppingCart   WishList   AccountInfo 
PetShop.Model.AddressInfo 訂單地址即帳號


PetShop.ProfileDALFactory
PetShop.IProfileDAL
PetShop.Profile


最後一層的實現都有相應的ORACLEDAL的實現層 在消息隊列  ORACLE用的是WINDOWS 服務 

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