Re: [討論] Optional operation 的使用時機?

看板java作者 (!H45)時間16年前 (2009/03/08 14:12), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/7 (看更多)
: 2.大多數時候會以超類別的面貌進行操作時. (ex. state/strategy pattern) : -有時候雖然功能可能普遍性不那麼高 , : 但是因為要以超類別進行操作 , 會將method 上提到超類別 , : 並出現部份的 optional operation 狀況, : 有點像是 template method 的 hook method. (這不是很好的例子 :p) 只回這段。 在 state pattern 設計中,一個狀態類別有許多狀態轉移成員方法 http://caterpillar.onlyfun.net/Gossip/DesignPattern/StatePattern.htm 然而,有些狀態轉移是沒有作用的,這種情況會出現 optional operation 的影子。 假設現有兩個狀態「移動」和「靜止」,兩個事件「走」和「停」 狀態為「移動」的時候,若發生「停」事件,則狀態轉移至「靜止」 狀態為「靜止」的時候,若發生「走」事件,則狀態轉移至「移動」 然而,「移動」的時候,若發生「走」事件,則狀態仍然停留在「移動」 狀態為「靜止」的時候,若發生「停」事件,狀態也是不變。 可能,這有些像 optional operation 但又不完全是 或者我直說,這不是 optional operation。 因為 optional operation 是可以選擇實作或者不實作 而實作又分為定義完整的行為與拋出 UnsupportedOperationException 兩種。 但是此例狀態轉移卻完整地定義,並不存在 optional operation 所有的行為都需要實作,不會有不支援的運算這種例外發生。 所以....是不是我誤會了您想要表達的意思!?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13

03/08 14:36, , 1F
我著眼的點在於某些行為在某些動作下可能會是unsupport的.
03/08 14:36, 1F
文章代碼(AID): #19is6wFA (java)
討論串 (同標題文章)
文章代碼(AID): #19is6wFA (java)