您的位置:知识库 » .NET技术

.NET 2.0的Provider模式

作者: 极地银狐.NET  来源: 博客园  发布时间: 2009-03-17 15:25  阅读: 10160 次  推荐: 0   原文链接   [收藏]  
摘要:本文全面地介绍了Prodive模式的概念以及应用,对于理解Provider模式的理解起到了很大的帮助
[1] Provider模式统览
[2] 细节,细节,还是细节
[3] 执行

第三部分:执行

为了使用我们的API,我们要对静态的Store类进行方法调用,在本次示例中如果我们默认的provider存有产品,我们可以通过API类(Store)提供的方法使用默认provider

 1 // Get some coke
 2 
 3 Product p1 = Product.GetProduct("Coke");
 4 
 5  
 6 
 7 // find out the cost
 8 
 9 double cost = Store.GetProductPrice(p1);
10 
11  
12 
13 // get it from the store
14 
15 Store.RemoveProductFromStock(p1);  // remove from inventory  

如果我们想要另一个默认的Provider,我们可以修改配置文件,把其它已实现此API的类加载到内存。跑跑这个示例项目,修改配置文件中的值来看看价格是否发生变化。

<store defaultProvider="CornerStoreProvider">

这个就不只可以有不同的价格了,它还意味着可以有完全不同的功能。

第四部分:包装起来

ASP.NET 2.0 System.Web.Security.ActiveDirectoryMembershipProvider

System.Web.Security.SqlMembershipProvider之间的差别可以作为通过同样一个接口暴露完全不同功能的例子,他们的每个对象都有完全不同的功能,但它们都通过System.Web.Security.Membership对象来暴露同样一个API,这样就有利于编码。

现在我们大概了解了Provider模式的工作原理了,我们甚至可以写一个自己的MembershipProvider。如果我们想要这个MembershipProviderXML文件获取信息而不是活动目录或是SQL,我们要声明以下类并为基类定义好抽象方法:

class XmlMembershipProvider: System.Web.Security.MembershipProvider
{
}

讲了这么半天,希望你能了解Provider模式及其工作原理。在很多情况下我们也许可以通过.NET框架现有的API来实现自己的Provider,如果你有兴趣在ASP.NET 2.0中看看自定义的Provider,请参考MSDN

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPNETProvMod_Intro.asp

0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻