
you are here
419
10
章
State
パターン
デザインツールボックスの
ためのツール
これでこの
10
章も終わりです。ここでは、どんな就職面接
でも難なくパスできるほどのパターンが手に入りました!
■
State
パターンでは、オブ
ジェクトがその内部状態に基
づいたさまざまな振る舞いを
持てる。
■
手続き型の状態マシンとは異
なり、
State
パターンは状態
を本格的なクラスとして表現
する。
■
Context
は、
Context
を 構
成している現在の状態オブ
ジェクトに振る舞いを委譲し
てその振る舞いを実行する。
■
状態をクラスにカプセル化す
ることで、変更が必要になっ
たときに、その変更を局所化
できる。
■
State
パターンと
Strategy
パターンのクラス図は同じだ
が、目的が異なる。
■
通常、
Strategy
パターンは、
振る舞いやアルゴリズムに基
づいて
Context
クラスを構
成する。
■
State
パターンでは、
Context
の状態が変わると
Context
は そ の 振 る舞い を
変更できる。
■
状態遷移は
State
クラスか
Context
クラスで制御できる。
■
State
パターンを使うと、通
常は設計内のクラスの数が多
くなる。
■
State
クラスは
Context
イン
スタンス間で共有できる。