Professional Documents
Culture Documents
www.hzdsw.net
2004 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
PetShop
PetShop
PetShop
.Net J2EE
4.0 .Net
Framework 2.0 Asp.Net
PetShop
.Net
PetShop
PetShop
MS Sql DB
Oracal
DB
PetShop
.Net BS
PetShop
PetShop
2.0
PetShop
PetShop
3.0
PetShop
PetShop
4.0
PetShop
DAL
DALFactory
IDAL
Model
DAL
SQLServerDAL
MS Sql Server
I DAL
OracleDAL
Oracle
IDAL
PetShop
BLL
IBBLStrategy
BBL
DALFactory
IDAL
Model
PetShop
Web Component
BBL
Factory
Strategy
Facade
Factory
DALFactory
DAL
IDAL
Factory
IDAL
ICategory
IInventory
IItem
IOrder
IProduct
Factory
DALFactory DataAccess
public sealed class DataAccess
{
public static PetShop.IDAL.ICategory CreateCategory() {}
{}
Strategy
IBBLStrategy
BBL
Strategy
PetShop
Order
<<interface>>
IOrderStrategy
+Insert()
OrderSynchronous
OrderAsynchronous
+Insert()
+Insert()
Facade
Faade
Faade
Facade
PetShop Cache
Cache .Net Web
Cache
System.Web.Caching.AggregateCacheDepe
ndency
protected
AggregateCacheDependency
dependency = new
AggregateCacheDependency();
dependency.Add(new
SqlCacheDependency(dbName,
tableName);
Facade
CacheDependcy PetShop
DependencyAccess
CreateCategoryDependency() {}
Facade
DependencyAccess
+CreateCategoryDependcy() : IPetShopCacheDependency
+CreateProductDependcy() : IPetShopCacheDependency
+CreateItemDependcy() : IPetShopCacheDependency
<<interface>>
IPetShopCacheDependency
+GetDependency()
AggregateCacheDependency
1
*
TableDependency
+GetDependency()
SqlCacheDependency
1
Facade
IPetShopCacheDependency
Table Name
SqlCacheDependency
AggregateCacheDependency
IPetShopCacheDependency
GetDependency()
Faade
DependencyFacade
IOrderStrategy
BLL
OrderStrategy
IOrderStrategy
orderInsert = new
OrderSynchronous();
BBL
OrderSynchronous
(Dependency Injection)
Martin Fowler
http://
martinfowler.com/articles/injection.html
xml
PetShop
DALFactory DataAccess
PetShop Asp.Net
Web.Config
ConfigurationManager
private
Web.config
<add
key="OrdersDAL"
value="PetShop.SQLServerDAL"/>
Oracle
web.config
<add
key="OrdersDAL"
value="PetShop.OracleDAL"/>
DALFactory
OrderStrategy
BBL Order
IOrderStragety
IOrderStrategy LoadInsertStrategy()
OrderStrategyAssembly
OrderStrategyClass
web.config
<add key="OrderStrategyAssembly"
value="PetShop.BLL"/>
<add key="OrderStrategyClass"
value="PetShop.BLL.OrderSynchronous"/>
<add key="OrderStrategyClass"
value="PetShop.BLL. OrderAsynchronous"/>
PetShop
http://msdn.microsoft.com/library/default.asp?url=/librar
PetShop 4.0 download:
http://msdn.microsoft.com/library/default.asp?url
=/library/en-us/dnbda/html/bdasamppet4.asp
PetShop 3.0 download:
http://msdn.microsoft.com/library/default.asp?url
=/library/en-us/dnbda/html/bdasamppet3.asp
PetShop 4.0 .Net Framework 2.0
3.0 2.0 .Net Framework 1.x