TemplateMethod
目的
あるオペレーションに対してアルゴリズムのスケルトンを定義しておき、その過程のいくつかのステップについては置き換えまたは拡張可能にする。
構造
注釈
- どのオペレーションをオーバライドする必要があり、どのオペレーションをオーバライドすることもできるかについて、明確にすべきである。
- TemplateMethodの適用メリットを考えると、オーバライドする必要があるオペレーションはなるべく少ないほうがよい。
- オーバライドされるオペレーションには、名前にプレフィクスを付けて識別できるようにするのが一般的。例えばMacAppでは、プレフィクスDoが付けられている。
- C++では、オーバライドする必要があるオペレーションは純粋仮想関数で宣言する。TemplateMethod自体は非仮想関数として宣言する。
最終更新:2012年02月07日 12:17