我做的一项目是这样的
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。更详细的解释最好
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。更详细的解释最好
Assembly怎么用?
利于将来程序的扩展,,同时限制操作,
还是采用Spring.net通过配置走好。
获取包含当前执行的代码的程序集
return (IBillPayerDAO)assembly.CreateInstance("GFMIS.FS.DAL.BaseData.BillPayerDAO")
通过反射取得Data层BillPayerDAO类的实例在反射工厂模式中用接口起规划调用方式的作用。
详细工厂模式的使用上下文情况和具体说明请搜一下.Net设计模式说明。