在沒有學習工廠模式之前
public Object createObj(string objName)
{
switch (objName)
{
case "person":
return "person";
case "car":
return "car";
default:
return "none";
}
}
有新的業務需求,每次都要改動createObj裏面的內容。
工廠模式,把createObj方法提取出來,不在有具體的實現。
子類具體實現createObj方法,有不同的業務需求,根據需求再新增類實現createObj方法即可。
注:在調用的時候,通常與反射技術結合應用。
(類名)Assembly.Load("程序集名").CreateInstance("程序集名.類名") ;ps:程序集和類名都是字符創,故可以在配置文件中配置
從而實現,只需修改配置文件即可動態改變生成實例的效果。