概要
GoFの振る舞いに関するパターンであるTemplate MethodパターンとStrategyパターンについてまとめる。
Template Methodパターンとは
大枠の処理を上位のクラスで決めておき、具体的な処理の流れを下位のクラスに任せる設計パターン。
Strategyパターンとは
実行時に処理を選択することができるような設計パターン。
Templateパターンと似ているが、Strategyパターンは処理の全てをまとめて切り替えるような構成で、Templateパターンは特定の処理は固定で他が可変といったイメージ。
Template MethodパターンもStrategyパターンも継承を使うか委譲を使う方は実装に任させれているので、どちらを使わないといけないということはない。