pigbot考察(JP)
DAKARAサイトで使われた形態素解析によるキーワードマッチングの仕組みでは、効率よく画面遷移を行うためにstateパターンが使われている。画面は基本の3つから成っていて、各画面はそれぞれのstate(状態)クラスから生成され、各stateが一定の条件のもとで他のstateに遷移する。最初のkeystroke状態で、入力が確定されるとreflect状態へ遷移し、またタイムアウトするとstandby状態へ移りムービーが再生される。例えば、ユーザの操作によりこのスタンバイからkeystroke状態へ戻るという条件は、standby状態クラス内にあり、条件が満たされると状態遷移されるわけである。stateにより複雑な条件文をすべて排除することが出来る。OOPの場合、仕事をクラスに分散化させるとよいとされている。出来るだけ同じ(method)は抽出し、使わない場合はクラスから追い出し、別のクラスにする。
