关于三层结构,达人进,谢谢!
我做的一项目是这样的
BO:
public static DataTable QueryAll()
{
try
{
IBillPayerDAO assDAO = DALFactory.CreateBillPayerDAO();
return assDAO.QueryAll();
}
catch (Exception ex)
{
throw new Exception(ex);
}
}
DALFactory:
public static IBillPayerDAO CreateBillPayerDAO()
{
Assembly assembly = Assembly.GetExecutingAssembly();
return (IBillPayerDAO)assembly.CreateInstance( "GFMIS.FS.DAL.BaseData.BillPayerDAO ");
}
我知道这是工厂模式,哪位给详细解释一下?
1。GetExecutingAssembly()作用
2。为什么用接口的对象。
3。更详细的解释最好
------解决方案--------------------我也看过这样的程序。但是这样把实现类都打包成了Dll,那以后换实现来也不好换呀。
还是采用Spring.net通过配置走好。
------解决方案--------------------Assembly.GetExecutingAssembly();
获取包含当前执行的代码的程序集
return (IBillPayerDAO)assembly.CreateInstance( "GFMIS.FS.DAL.BaseData.BillPayerDAO ")
通过反射取得Data层BillPayerDAO类的实例
在反射工厂模式中用接口起规划调用方式的作用。
详细工厂模式的使用上下文情况和具体说明请搜一下.Net设计模式说明。