ギコ猫とStateパターン

結城浩

目次

Stateパターン



  ∧_∧  カタカタ   /‾‾‾‾‾‾‾‾‾‾‾‾
 (    )  ∧ ∧ < 個々の状態を表すConcreteStateを作るのです…と。
 (    )  (,,゜Д゜)  \____________
‾‾‾‾‾ (つ_つ____
‾‾‾日∇‾\|ThinkPad|\
       ‾   =========  \

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
| ほう、Stateパターンですか?

  ‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾‾
  ∧_∧       /‾‾‾‾‾‾‾‾‾‾‾‾
  ( ・∀・)  ∧ ∧ < な、なんですか?あなた・・・
 (  ⊃ )  (゜Д゜;)  \____________
‾‾‾‾‾ (つ_つ____
‾‾‾日∇‾\|ThinkPad|\
       ‾   =========  \

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
| 現在の状態を判断するif文がなくなる、と。

  ‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾‾
  ∧_∧       /‾‾‾‾‾‾‾‾‾‾‾‾
  ( ・∀・)  ∧ ∧ < 状態による分岐が不要になりますからね。
 (     )  (;゜Д゜)  \____________
‾‾‾‾‾ (つ_つ____
‾‾‾日∇‾\|ThinkPad|\
       ‾   =========  \

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
| その代わりにswitch文が増える、と。

  ‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾‾
  ∧_∧       /‾‾‾‾‾‾‾‾‾‾‾‾
  ( ・∀・)  ∧ ∧ < んなこと言ってないでしょ!!
 (  ⊃ )  (゜Д゜;)  \____________
‾‾‾‾‾ (つ_つ____
‾‾‾日∇‾\|ThinkPad|\
       ‾   =========  \
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

※アスキーアートは2ch.netからお借りしました。

AbstractGikoStateとConcreteGikoStateたち




  ∧ ∧  /‾‾‾‾‾‾‾‾‾‾
 (,,    )< AbstractGikoState
 @_)  \__________

  △
  |
  |       ∧ ∧  /‾‾‾‾‾‾‾‾‾‾
  |———  (,,・∀・)< ニコリConcreteGikoState
  |      @_)  \__________
  |     
  |       ∧ ∧  /‾‾‾‾‾‾‾‾‾‾
  |———  (,,・ー・)< ニヤリConcreteGikoState
  |      @_)  \__________
  |     
  |       ∧ ∧  /‾‾‾‾‾‾‾‾‾‾
  |———  (,, ;д ; )< グスンConcreteGikoState
  |      @_)  \__________
  |     
  |       ∧ ∧  /‾‾‾‾‾‾‾‾‾‾
  |———  (,,−x−)< ネムネムConcreteGikoState
         @_)  \__________

※アスキーアートは2ch.netからお借りしました。

戻る

豊かな人生のための四つの法則