在sping的ioc之前看到使用工廠模式動態建立物件,感覺有些思想在裡面,當做筆記記錄下來。
accountservice=com.wcgxy.service.impl.accountserviceimpl
accountdao=com.wcgxy.dao.impl.accountdaoimpl
對應的就是兩個介面的普通實現類
public
class
beanfactory
}catch
(exception e)
}/**
* 根據bean的名稱獲取物件
* @param beanname
* @return
*/public
static object getbean
(string beanname)
}
最後寫乙個測試類,迴圈呼叫getbean,列印發現物件是單列的。到此通過工廠模式動態建立物件的方式就接結束了。 為什麼使用工廠模式
非原創,只是搬運。位址 1.工廠模式並不僅僅是用來new出乙個類的物件的。簡單工廠確實如題主的描述所說,是乙個工廠對應乙個類的關係。假設有 包a和 包b,包b是 包a的呼叫者,a向b暴露介面inte cea。在a的內部結構中,實現了inte cea的有classa1,classa2,classa3,...
使用工廠模式優化if else
太多的if else 可讀性太差,需要重構易於後期維護。工廠類 author shou title 工廠類 date 2020 4 229 48 public class strategyfactory 內部類 public static class holder 返回的是單例的工程物件 publi...
使用工廠方法和建構函式建立物件
function createperson name 返回新物件 return obj var obj2 createperson 孫悟空 console.log obj2 侷限 使用工廠方法建立的物件,使用建構函式都是object,所以建立的物件都是object這個型別,導致我們無法區分多種不同型...