Re: [設計] state pattern

看板OOAD作者 (有些事,有時候。。。)時間12年前 (2012/03/13 17:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《tyc5116 (累人啊....)》之銘言: : 請問一下,像這樣子的情形 : 有A物件和B物件,在執行時會有數個狀態變化(ex stop,start,run) : 兩者狀態的數量及種類不盡相同 : (ex A:stop,start,run,wait B: stop,run,check,有相同的,也有不相同的) : 同樣的狀態,其動作也不相同(ex. start時,A執行thing1,b執行thing2) : 剛開始設計時,怎樣的設計可能會比較理想呢? : 另外 : 1.這種情形以state pattern設計適合嗎 : 2.有建議以其它的pattern設計會更合適的嗎? 看不出適合 state pattern 的理由, 同時也看不出不適合 state pattern 的理由。 state pattern 的重點不是有『狀態』這件事, 而是在不同的狀態下,behavior 會變。 你的描述只到了有 A, B instances, 他們各自有一些 method,僅此而已。 狀態的變化,而導致物件行應該改變時, 才值得思考要不要用 state pattern。 像我有個 Playback,當 state 還沒有進入 playing 時, 要如何提供 record 這個行為? 若 A, B 有相依相關,A 需看 B 的臉色做事,或 B 需看 A 的臉色做事, 那就想成簡單的物件使用可以了,物件的本質是持有『狀態』的集合。 但跟 state pattern 毫無關係。 若硬是要說有 pattern 存在的話,也許是某個 Strategy Pattern 設計, 你讓 api user 決定某個物件的實作能由 user 提供 api 預設值之外的邏輯。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.72.110.37

03/13 20:07, , 1F
沒錯,原則上設計能愈簡單愈好
03/13 20:07, 1F
文章代碼(AID): #1FNngQmo (OOAD)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1FNngQmo (OOAD)