1
我正在寫一個桌面MMO遊戲,我想諮詢一下架構問題。我有NetworkManager,ClientWindow,CachingTextureAtlas等類,它們只需要在一個遊戲實例中使用,這裏是我的問題:使它們成爲單例是否正確?如果是的話,這將是一種通過全球課程進行的互動,從設計的角度來看,這並不是很好,因爲在我看來,如果沒有,我們會將它們組成一個外觀,我們必須將這些全部傳遞給構造函數太多的課程也不方便。什麼是更好的選擇?組成vs多個單身人士
+1表示依賴注入。錯過了:) – greenkode 2013-03-26 07:57:57
所以你反對單例方法,你建議的是讓工廠持有所需類的實例?或者每次都提供一個新實例?我在服務器端使用Spring DI,我會考慮遠離單身人士,但我們應該如何處理客戶端,在Spring中沒有任何意義?而在CachingTextureAtlas的情況下,它是非常昂貴的,每次實例化它,謝謝;) – OneMoreVladimir 2013-03-26 08:00:02
@OneMoreVladimir我寧願去依賴注入。這會從調用它的方法中抽象出實現。因此您可以更改實現並很可能永遠不必重構代碼。 – greenkode 2013-03-26 08:02:30