Design Pattern | Template Method Pattern(テンプレートメソッドパターン)

Template Methodパターンとは?

  • テンプレートは、一定の文字や模型を刻んで作った型である。Templateを見るとどのような文字を書けるかは分かるが、実際にどのような文字になるかは具体的な筆記具が決まらなければ分からない。
  • Template Methodパターンは、スーパークラスで処理の枠組みを定め、サブクラスでその具体的内容を定める方式である。
  • GoFのデザインパターンでは、振る舞いに関するデザインパターンに分類される。

Template Methodパターンのサンプルプログラム

モンスターの名前、攻撃力、防御力を表示するサンプルプログラムである。

Class Diagram
Iterator Pattern

例では、テンプレートとなる抽象モンスタークラスと、具体的な攻撃力や防御力を提供する具象モンスタークラスを定義する。スーパークラスが全体の表示手順を制御し、サブクラスが変化する部分を提供する。

メリット

処理の骨組みを1か所に固定し、サブクラスは詳細だけをカスタマイズできる。重複を減らし、全体のアルゴリズムを一貫させられる。