2009-04-17 45 views
1

我想創建一個工廠,它將創建一個smack XMPPConnection。 如果無法建立連接,工廠應返回實際的XMPPConnection或NullObject。創建一個可以同時支持真實對象和一個空對象的工廠

但是smack的XMPPConnection是一個具體的類。

它沒有實現任何接口,所以我不能使用java動態代理API來代理吸盤。我可以擴展XMPPConnection,但這不是很優雅。

還有其他的選擇嗎?請注意,工廠絕不能返回null!

回答

3

你必須創建自己的接口,基本上覆制了XMPPConnection並創建一個實現該接口和wrapps真正XMPPConnection類的適配器。這樣你可以有一個NullXMPPConnection。

+0

這是一個整潔的想法。這是值得的努力?我可以放棄工廠,並且每次都做一個新的XMPPConnection。 – 2009-04-17 09:05:18

相關問題