DNN的数据访问方式——合理运用模式,提高数据访问的灵活性

原创 2005年05月19日 18:56:00
  DNN的核心框架表的数据访问方式是采取单件模式(Singleton)和抽象工厂模式(Abstract Factory)结合的方式来实现的。(各个用户模块的数据访问方式好像也是这样的)
  单件模式(Singleton):用来确保程序只有一个数据访问点。
  抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
  DataProvider(components/Providers/Data/DataProvider.vb)就是这样的一个抽象类,它提供了系统所需的访问数据库操作的全部接口,SqlDataProvider(Providers/DataProviders/SqlDataProvider/SqlDataProvider.vb)是DataProvider的一个子类,它提供了访问SQLServer数据库的具体实现。在使用的时候我们只需调用“DataProvider.Instance().要用到的方法”即可。至于返回何种子类则在DataProvider类中构造函数调用CreateProvider()动态的构造具体的子类。
动态构造何种子类的设置,则完全由用户在配置文件中设置。如:
    <!--data默认的Provider是SqlDataProvider-->
    
<data defaultProvider="SqlDataProvider">
      
<providers>
        
<clear />
        
<!--Provider的详细信息-->
        
<add name="SqlDataProvider" type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~/Providers/DataProviders/SqlDataProvider/" objectQualifier="" databaseOwner="dbo" />
      
</providers>
    
</data>
这样如果我们需要用Oracle数据库,只需要编写一个OracleDataProvider子类实现DataProvider中的接口就行了。然后将配置文件的信息修改如下即可。
    <data defaultProvider="OracleDataProvider">
      
<providers>
        
<clear />
        
<!--Provider的详细信息-->
        
<add name="OracleDataProvider" type="DotNetNuke.Data.OracleDataProvider, DotNetNuke.OracleDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~/Providers/DataProviders/OracleDataProvider/" objectQualifier="" databaseOwner="" />
      
</providers>
    
</data>
  这种数据访问方式能够灵活的配置应用程序使用的数据库,而且每个用户模块都有自己独立的DataProvider,应该是可以实现不同的用户模块使用不同的数据库。我现在还在看系统框架的东西,关于不同用户模块是否是可以使用不同数据库的问题还不能肯定,不过我想是可以的。

更多相关内容>>

silverlight 数据访问方式

  • 2011年01月23日 10:09
  • 5.68MB
  • 下载

王爽 汇编语言 第二版 实验七 寻址方式在结构化数据访问中的使用 源码

这是学习汇编以来遇到的最繁琐的一个程序,其实思路理清了也就是那么回事,但还是花了一整个晚上才把它写出来,晒晒 assume cs:code data segment db '1975','...

一致的数据访问技术——ADOOLE DB

  • 2007年07月22日 12:55
  • 205KB
  • 下载

王爽 汇编语言 第三版 实验7 寻址方式在结构化数据访问中的应用

Power idea 公司从1975年成立一直到1995年的基本情况如下。

汇编语言学习---寻址方式在结构化数据访问中的应用

实验二 寻址方式在结构化数据访问中的应用 一、实验目的 (1)了解汇编语言的程序结构,编写一个较简单的完整汇编程序; (2)理解寻址方式的意义。 二、实验内容 Power idea公司从1...

寻址方式在结构化数据访问中的应用

代码: assume cs:codesg,ds:data,es:table data segment db '1975','1976','1977','1978','1979','...
  • LeoCfyb
  • LeoCfyb
  • 2013年02月02日 19:34
  • 486

数据访问模式

  • 2015年08月24日 12:35
  • 1.03MB
  • 下载

ArcGIS Engine笔记(一)数据访问方式总结

引用 ArcGIS Engine中的8种数据访问    这是大二时学习AE作了一些总结。     数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提。ArcGIS支...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DNN的数据访问方式——合理运用模式,提高数据访问的灵活性
举报原因:
原因补充:

(最多只允许输入30个字)