public PizzaHutPizzaFactory() { ///使用反射 產生相對應的物件 beefPizze = (IBeefPizza)Assembly.Load("designPatterns").CreateInstance("designPatterns.AbstractFactory.PizzaHutPizza.PH_BeefPizza"); hawaiiPizza = new PH_HawaiiPizza(); seafoodPizza = new PH_SeafoodPizza(); takoyakiPizza = new PH_TakoyakiPizza(); }
public ReflectionPizzaFactory() { //string storeName = "PizzaHutPizza"; //string beefPizzeName = "PH_BeefPizza"; //string hawaiiPizzaName = "PH_HawaiiPizza"; //string seafoodPizzaName = "PH_SeafoodPizza"; //string takoyakiPizzaName = "PH_TakoyakiPizza"; string storeName = ConfigurationManager.AppSettings["storeName"]; string beefPizzeName = ConfigurationManager.AppSettings["beefPizzeName"]; string hawaiiPizzaName = ConfigurationManager.AppSettings["hawaiiPizzaName"]; string seafoodPizzaName = ConfigurationManager.AppSettings["seafoodPizzaName"]; string takoyakiPizzaName = ConfigurationManager.AppSettings["takoyakiPizzaName"]; ///使用反射 產生相對應的物件 beefPizze = (IBeefPizza)Assembly.Load("designPatterns").CreateInstance($"designPatterns.AbstractFactory.{storeName}.{beefPizzeName}"); hawaiiPizza = (IHawaiiPizza)Assembly.Load("designPatterns").CreateInstance($"designPatterns.AbstractFactory.{storeName}.{hawaiiPizzaName}"); seafoodPizza = (ISeafoodPizza)Assembly.Load("designPatterns").CreateInstance($"designPatterns.AbstractFactory.{storeName}.{seafoodPizzaName}"); takoyakiPizza = (ITakoyakiPizza)Assembly.Load("designPatterns").CreateInstance($"designPatterns.AbstractFactory.{storeName}.{takoyakiPizzaName}"); }