3
我仍然試圖瞭解循環引用的危險。我經常讀到他們應該只在極少數情況下使用。但是,在規範的狀態模式中,「狀態」對象需要引用「上下文」對象才能引發轉換,「上下文」對象需要引用「狀態」對象才能觸發其行爲。狀態模式似乎使用循環引用。爲什麼那麼好?
這不是一個循環引用嗎?如果不是,它與循環引用有什麼關係?如果是這樣,爲什麼這可以接受?
http://en.wikipedia.org/wiki/State_pattern
http://sourcemaking.com/design_patterns/state
這也可以被認爲是依賴注入,對吧? – Brady 2012-07-22 16:20:30
State類基本上被注入到Context中,儘管在一個更完整的例子中,Context類可能會有一個構造函數,它接受了任何接口狀態符合的參數。上下文對於國家來說並不是真正的DI,因爲State不依賴Context,State只是修改Context。 – cmsjr 2012-07-23 05:23:20