如:傳統工廠類
inte***ce ifruit
public void eat()
}class orange implements ifruit
}class factory
public static ifruit getinstance(string name) if("orange".equals(name))
return null; }}
public class test
}
特點:每增加乙個介面子類就需要修改工廠類。
如:利用反射實現工廠類
inte***ce ifruit
public void eat()
}class orange implements ifruit
}class factory
public static ifruit getinstance(string name) throws instantiationexception, illegalacces***ception, classnotfoundexception
}public class test
}
特點:無論增加多少介面子類都不用修改工廠類。 反射與工廠設計模式
工廠設計模式的一般格式 介面 實現對應介面的子類 工廠類通過反射技術改進的工廠,不再使用new關鍵字來例項化物件了 package com.reflect.factory.model inte ce ifruit ifruit class factory public static ifruit g...
java反射機制 工廠設計模式的進化
一 基本使用和 簡單工廠模式 使用步驟 1 建立抽象產品類 定義具體產品的公共介面 2 建立具體產品類 繼承抽象產品類 定義生產的具體產品 3 建立工廠類,根據傳入不同引數從而建立不同具體產品類的例項 4 外界通過呼叫工廠類的方法,傳入不同引數從而建立不同具體產品類的例項public class d...
C 設計模式之 抽象工廠模式與反射
定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類 在access中給user表增加一條記錄 在access中根據id得到user表一條記錄 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類 class department public string id inte ce id...