2
我現在試圖擺脫我的服務器代碼中的上帝對象。上帝對象替換
在我的服務器設計開始時,我決定將World
和const
容器對象做爲單例。
但我的服務器是多線程的,單身人士沒有很好的解決方案。
所以我管理它,我把這個類作爲Core
類實例移動。
例如:
class Core
{
...
private:
World world;
CExpTable exptable;
...
};
Core
新連接是給對對象的Session
類。
new Session(io_pool.getService(), world, exptable ...);
我只需要該對象的一個實例。 但上帝的對象是壞的設計模式,所以我會問,我該如何重新設計該對象,以避免它,並且是單身模式設計好?
Soo,我只想創建World類的一個實例,但我不知道在哪裏存儲引用/指針,在我將所有存儲在God類中的所有內容都稱爲Core之前。你能解釋一下我如何在沒有神克或單身的情況下儲存世界級的實例嗎?謝謝。 – user3126089
@ user3126089我已經用一種可能的解決方案更新了我的答案。 – BartoszKP
會不會很好地給它從'上帝級'指向它喜歡新的會話(...,世界指針,...)? – user3126089