实现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 服务
本文地址:http://www.45fan.com/dnjc/69950.html