ASP.NET 2.0 Provider模型概述
ASP.NET 2.0中引入了Provider模型(有的地方把他翻译成“提供器模型”).Provider模型是一种设计模式,并不是ASP.NET 2.0所特有的。所谓设计模式,就是一种软件设计从实践到理论的提升,只要掌握了原理,你可以为任何程序实现Provider模型。
Provider模型解除了代码对特定存储的依赖,使应用程序代码与具体的数据访问逻辑松耦合。举例来说,我们在编写一个销售系统的时候并不知道将来客户希望使用哪种方式存储数据。这个时候如果引入Provider模型,在编写的时候使用Access数据库来保存数据,到时候发布的时候如果客户希望使用SQL Server数据库我们不需要修改整个系统,只需要为系统新增一个SQL Server数据库的Provider,然后通过配置这个Provider作为默认的Provider为系统提供数据库持久化就可以了。即使今后客户需要使用Oracle数据库了,我们也只需要新建一个适用与Oracle的Provider,然后修改配置文件即可。
ASP.NET 2.0使用Provider模式的地方:
1:SiteMapPath 路径导航:根据网站的站点地图和当前页面的地址,自动产生路径式的导航。数据源可以是XML格式的sitemap文件也可以是自定义的其他数据库的Provider。
2:成员资格:为用户提供全套的面向用户和管理员的用户帐户相关的一系列功能(注册、登陆、取回密码、锁定等)。数据源可以是SQL Server数据库也可以是AD活动目录。
3:Role 角色:为用户进行角色授权。数据源可以是SQL Server数据库或者基于Windows组的授权。
4:Profile个性化:记录用户对于网站的个性化设置。数据源可以是SQL Server数据库或者自定义的其他数据库的Provider。
Provider模型解除了代码对特定存储的依赖,使应用程序代码与具体的数据访问逻辑松耦合。举例来说,我们在编写一个销售系统的时候并不知道将来客户希望使用哪种方式存储数据。这个时候如果引入Provider模型,在编写的时候使用Access数据库来保存数据,到时候发布的时候如果客户希望使用SQL Server数据库我们不需要修改整个系统,只需要为系统新增一个SQL Server数据库的Provider,然后通过配置这个Provider作为默认的Provider为系统提供数据库持久化就可以了。即使今后客户需要使用Oracle数据库了,我们也只需要新建一个适用与Oracle的Provider,然后修改配置文件即可。
ASP.NET 2.0使用Provider模式的地方:
1:SiteMapPath 路径导航:
2:成员资格:
3:Role 角色
4:Profile个性化
作者:mFrog(mFrog的技术博客)
出处:http://mFrog.cnblogs.com/
本文版权由作者全部保留,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。