07/03/29 15:32:52
----------------------------------------------------------------------------
デザインパターンにおける Contextの用例 【追加と訂正】
2. Stateパターン 【訂正】
× (注: オブジェクトの取り得る内部状態の集合をContextクラスにまとめ、
個々の内部状態とその処理内容をConcreteStateクラスとして実装する)
○ (注: ここでは、複数の内部状態をとるオブジェクトを、仮にContextクラスと呼んでいる。 ←【訂正】
個々の内部状態とその処理内容をConcreteStateクラスとして実装する)
3. Strategyパターン 【追加】
URLリンク(www.hellohiro.com)
Strategyパターンはアルゴリズムを、それを利用するクライアントから独立に変更できるようにする。
それぞれのアルゴリズムをカプセル化(Strategyクラス)してそれらを交換可能にする。
(注: ここでは、アルゴリズムを使用するクライアントを、仮にContextクラスと呼んでいる。
個々のアルゴリズムは、個別のConcreteStrategyクラス (~A, ~B, ~C)に記述する。
個々のアルゴリズムは、Strategyクラスとしてカプセル化され、交換使用可能になる。)
----------------------------------------------------------------------------
もしかして >>293は、
鈴木、田中 == StrategyパターンのConcreteStrategyクラス、
WoodCutPrintContext == Strategyパターンのクライアント (Contextクラス)
と言いたかったのか?
だが、それでは
・鈴木と田中が同じ手順(Strategy)で版画を彫る
・鈴木が田中の手を借りて版画を彫る
が全く同じ表現になってしまう。これは不適切だ。