
you are here
291
8
章
Template Method
パターン
Template Method
パターンの定義
Template Methodパターンは、メソッド内でアルゴリズ
ムの骨組みを定義し、一部の手順をサブクラスに委ねる。
Template Method
は、アルゴリズムの構造を変えることな
く、アルゴリズムのある手順をサブクラスに再定義させる。
Template Method
パターンが、
Tea
と
Coffee
クラスの例でどのように機能するかが理
解できたと思います。ここでは正式な定義を確認し、すべての詳細を明確にしましょう。
このパターンでは、アルゴリズムのためのテンプレートの作成がすべてです。テンプ
レートとは何でしょうか?
これまで説明したように、テンプレートは単なるメソッドで
す。もっと厳密に言えば、アルゴリズムを一連の手順として定義するメソッドです。そ
の中の
1
つ以上の手順を抽象メソッドとして定義し、サブクラスで実装します。これに
より、アルゴリズムの構造を変えずに、サブクラスが実装の一部を提供できるのです。
では、クラス図を見てみましょう。
templateMethod()
primitiveOperation1()
primitiveOperation2()
AbstractClass
primitiveOperation1()
primitiveOperation2()
ConcreteClass
primitiveOperation1();
primitiveOperation2(); ...