復習:TemplateMethod

今回はTemplateMethodの復習です。

TemplateMethodは動作の骨組みを抽象クラスで規定しておき、
それに対して具体的な動作を具象クラスに記述するパターンです。

まさにMethodのtemplate(雛形)、そのまんまですね。

このパターンには、もとからあるコードに対して、
抽象化を施すときに必要な考え方が必要なようです。

実際に雛形となるメソッドは下位クラスでオーバーライドされたりしないようにする工夫も必要ですね。
下位クラスでメソッドの骨組みを変えられたりしたら、雛形の意味がなくなってしまい、コードの可読性が下がってしまうでしょうから。