抽象工厂的自小弟我理解
本人技术渣,我也是昨天看了下人家抽象工厂的demo,所以才把看到的东西感悟写下来,demo文章地址:http://www.cnblogs.com/zhili/p/AbstractFactory.html,
所谓工厂模式,工厂即指生产物品的车间,代码的工厂模式,就是提供实例方法,把他封装起来,就成为了一个工厂,而工厂就可以为我们提供实例对象,另外工厂还有一个特性,就是我们不用关心工厂是如何生产实例的,我们只需要告诉它要生产什么实例,它就为我们提供什么实例
而抽象工厂,作用是为了更大可能的解除方法调用间的耦合度,举例为在.net中我们通常会使用到三层,我们直接用bll去掉dal里的方法,两者直接就会存在很大的耦合,借于此,我们会用借口去完成之间的联系,为dal编写一个接口,然后继承。在bll调用dal方法时用接口实例。所以原来的工厂
现在就需要变成生产实例化接口(接口不可以直接实例化,可以实例化继承接口的类) 这样工厂就成了实例化接口的工厂,这就是抽象工厂
核心函数:
public class DalSimpleFactory
{
#region
private static string assemblyName = ConfigurationManager.AppSettings["Assembly"].ToString();
private static string spaceName = ConfigurationManager.AppSettings["NameSpace"].ToString();
#endregion
public static LcxIDal.IUserInfo getUserInfo()
{
return getInterFace(assemblyName, string.Format("{0}.{1}", spaceName, "UserInforDal")) as LcxIDal.IUserInfo;
}
public static object getInterFace(string assemblyName, string typeName)
{
return Assembly.Load(assemblyName).CreateInstance(typeName);
}
}