不要依賴Singleton Pattern

注意我說的是依賴,不是說完全不該用。

你對下面的情境很熟悉嗎?

現在你有一個Enemy類別,你希望它能夠知道玩家的位置,因此他需要擁有Player物件的transform。因為Enemy實體通常都是執行期產生的,所以你不會想用GameObject.Find(如果你還不知道,你現在該知道了),也不可能使用Serialized Field。

通常下一瞬間就是,「把Player變成singleton」。嗯...好吧!的確如果你的Player實體只會有一個,那麼使用singleton好像也是可以接受的。

閱讀全文〈不要依賴Singleton Pattern〉