Template MethodパターンとStarategyパターンについて

概要

GoFの振る舞いに関するパターンであるTemplate MethodパターンとStrategyパターンについてまとめる。

Template Methodパターンとは

大枠の処理を上位のクラスで決めておき、具体的な処理の流れを下位のクラスに任せる設計パターン。

Strategyパターンとは

実行時に処理を選択することができるような設計パターン。

Templateパターンと似ているが、Strategyパターンは処理の全てをまとめて切り替えるような構成で、Templateパターンは特定の処理は固定で他が可変といったイメージ。

Template MethodパターンもStrategyパターンも継承を使うか委譲を使う方は実装に任させれているので、どちらを使わないといけないということはない。

参考