+ -
当前位置:首页 → 问答吧 → 三层中 dalFactory 为什么要用到assembly呢?assembly用在这里的作用又是什么呢?翻看了很多资料,但是都不能确定!

三层中 dalFactory 为什么要用到assembly呢?assembly用在这里的作用又是什么呢?翻看了很多资料,但是都不能确定!

时间:2011-12-24

来源:互联网

三层中 dalFactory 为什么要用到assembly呢?assembly用在这里的作用是什么呢?翻看了很多资料,但是都不能确定!

namespace DALFactory
{
  /// <summary>
  /// 工产模式实现文章接口。
  /// </summary>
  public class Content
  {
  public static IDAL.IContent Create()
  {
  // 这里可以查看 DAL 接口类。
  string path = System.Configuration.ConfigurationSettings.AppSettings["WebDAL"].ToString();
  string className = path+".Content";
   
  // 用配置文件指定的类组合
  return (IDAL.IContent)Assembly.Load(path).CreateInstance(className);
  }
  }
}

作者: v1srine   发布时间: 2011-12-24

当前的写法是反射,根据配置文件中的类名

作者: Sandy945   发布时间: 2011-12-24

主要就是加载程序集然后生成该程序集中的某个类的实例(反射)

作者: zh6335901   发布时间: 2011-12-24

动态加载一些模块,比如说你的程序在开发时,并不确定用户会使用什么样的数据库,那么,你在抽象出对数据的访问接口之后,你上层的程序只要通过这个接口来访问数据就行了,但实际与数据库交互的部分,肯定是独有的,比如 Oracle、SQL Server、MySQL 等,这时你就要为每种数据库都提供相应的访问模块。而在实际布署后,要加载哪一个模块呢?通过在配置文件中做一下配置,系统根据配置动态加载相应的配件,这样就不用你把程序改来改去了,换数据库只要改一下配置就行。

作者: orain   发布时间: 2011-12-24