程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 抽象工廠的自我理解,抽象工廠自我理解

抽象工廠的自我理解,抽象工廠自我理解

編輯:關於.NET

抽象工廠的自我理解,抽象工廠自我理解


本人技術渣,我也是昨天看了下人家抽象工廠的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);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved