2013-03-19 35 views
1

我的單例類實現了一個接口,將來我可以期待很多具體的實現出來。 我正在考慮通過工廠方法創建此類的實例。工廠方法可能會過載。 我的問題是這個想法是好還是壞?使用工廠方法創建單例類

+0

這個問題是主觀的。你有一個具體的問題/情景? – 2013-03-19 11:40:28

+0

@DeepakBala我正在爲我的系統寫一個持久性機制的抽象.Say XMLPersistence.I想要將這個類的單個引用傳遞給每個調用子系統。我也知道,將來我可能不得不移動到另一個實現這個類,但再次單實例的東西保持不變 – ramoh 2013-03-19 11:47:52

回答

0

如果您的工廠方法返回的實例是單身人士,則無關緊要。這是一個實施選擇 - 根據您的需求做正確的事情。另外,如果您的方法簽名正在返回一個接口,那麼從技術上而言,這是一種方法,而不是一種方法factory

1

根據您更新的評論,確定您可以做到這一點。工廠方法基於重載參數或參數中的枚舉/整數值,提出持久化類的單例實現。有很多框架使用這種模式,比如說給你一個基於不同協議與服務器通信的客戶端實例。

MyFactory.pbClient("host", port); 
MyFactory.httpClient("host", port); 
相關問題