DNN的数据访问方式——合理运用模式,提高数据访问的灵活性,DNN的数据访问,NN的数据访问方,N的数据访问方式,的数据访问方式—,数据访问方式——,据访问方式——合,访问方式——合理,问方式——合理运,方式——合理运用,式——合理运用模,——合理运用模式,—合理运用模式,,合理运用模式,提,理运用模式,提高,运用模式,提高数,用模式,提高数据,模式,提高数据访,式,提高数据访问,,提高数据访问的,提高数据访问的灵,高数据访问的灵活 DNN的数据访问方式——合理运用模式,提高数据访问的灵活性----编程资料集中营--八角123--bajiao123.com
编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
DNN的数据访问方式——合理运用模式,提高数据访问的灵活性,DNN的核心框架表的数据访问方式是采取单件模式(Singleton)和抽象工厂模式(AbstractFactory)结合的方式来实现的。(各个用户模块的数据访问方式好像也是这样的)单件模式(Singleton):用来确保程序只有一个数据访问点。抽象工厂模式(AbstractFactory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> .NET 专区 >> NET 技术 >> 文章正文
【字体:
DNN的数据访问方式——合理运用模式,提高数据访问的灵活性   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:本站    点击数:    更新时间:2007-6-10    

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

  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,应该是可以实现不同的用户模块使用不同的数据库。我现在还在看系统框架的东西,关于不同用户模块是否是可以使用不同数据库的问题还不能肯定,不过我想是可以的。

更多相关内容>>

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营