JavaのデザインパターンTemplate Method

JavaのデザインパターンTemplate Method

Template MethodはJavaのポリモーフィズムを利用したデザインパターンです。

処理の流れ(ロジック)を親クラスのメソッドに記述します。子クラスではロジックを記述しません。

その為、ロジックに変更・不具合があっても親クラスに記述した処理フローを修正すればよいというデザインパターンです。

メリット

  • 子クラスでの処理フロー記述が不要
  • 親クラスで処理フローが決まっているので、処理フローの変更は親クラスだけでおこなえばよい

以下のクラス構成とします。

クラス 意味
Human 抽象クラス
American 子クラス
Japanese 子クラス

Humanクラスです。

greetingメソッドで処理のロジックを書いています。ここでは順にsay(),handShake(),bye()メソッドが呼ばれます。

各々の子クラスでは、say(),handShake(),bye()の実装を書きます。処理のロジックは親クラスのgreetingに記述するのがTemplate Methodです。

Humanクラスを継承しているJapaneseクラスです。

Americanクラス

呼び出し側

呼び出す側はポリモーフィズムを利用してHumanクラスの変数を定義します。

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA