Re: [設計] state pattern
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章