日期:2014-05-18 浏览次数:20495 次
namespace Taeheesoft.DALFactory
{
public sealed class DataAccess
{
private static readonly string assemblyPath = ConfigurationManager.AppSettings["AssemblyDAL"];
//add key="AssemblyDAL" value="PetShop4.SQLServerDAL"/>//数据访问层(DAL)的程序集名称
private static readonly string namespacePath = ConfigurationManager.AppSettings["NamespaceDAL"];
// <add key="NamespaceDAL" value="Taeheesoft.SQLServerDAL"/>>//数据访问层(DAL)的命名空间
private DataAccess() { }
/// <summary>
/// Create a interface
/// </summary>
/// <remarks>
/// 创建Demo 的数据层接口
/// </remarks>
/// <returns> </returns>
public static IDemo CreateDemo()
{
string className = namespacePath + ".Demo"; //命名空间+类名称=完整的类名称 例如:System+Int32=System.Int32
return (IDemo)Assembly.Load(assemblyPath).CreateInstance(className);
//Assembly.Load加载程序集
//CreateInstance动态创建类(className)
}
}
}
//这段代码是根据程序集,命名空间和类名称动态的创建一个类,利用了设计模式中的简单工厂模式。
//IDemo是接口