名前が示すように、テンプレートのデザインパターンは、テンプレートに多くの一般的な、一般的に使用されるコードをカプセル化することであり、唯一のコードのさまざまなビジネス要件を実装する必要があり、その後、テンプレートと組み合わせることで、完全なロジックを取得します。
一般的に使用されるテンプレートパターンの日常的な開発では、実装する2つの方法があります:継承とインターフェイスコールバック、テンプレートデザインパターンを実装するには、次の2つの方法があります。
以下のようなコードのシナリオを想定してください:
public void doSomething(){ 固定コードスニペット ビジネス 固定コードスニペット}
テンプレート・コードをカプセル化するテンプレート・クラスを作成します:
public abstract class Templet { public void doTemplet(){ System.out.println("固定コードスニペット"); //ビジネスロジックのコードdoSomething(); System.out.println("固定コードスニペット"); } public abstract void doSomething();}
テンプレートクラスを使用する必要がある唯一のテンプレートクラスを継承する必要があり、抽象的なメソッドを実装し、コールdoTempletで、ビジネスロジックのコードを呼び出すと、自然にサブクラスで実装されているので、異なるロジックは、コードの同じ部分を使用して実現することができます。
コールバックを使用して実装され、より汎用的なインターフェイスが最初に定義されます:
public interface Callback<V,T> { public V doSomething(T t);}
テンプレートに使用するテストクラス:
public class Test { public static void main(String[] args) { useTemplet("ビジネスロジック",new Callback<String, String>() { @Override public String doSomething(String t) { return t; } }); } public static void useTemplet(String str,Callback<String,String> callback){ System.out.println("固定コード"); String result = callback.doSomething(str); System.out.println(result ); System.out.println("固定コード"); }}他のコードがテンプレートを再利用する必要がある場合は、直接それにuseTempletを呼び出すようにする。
フレームワークの設計ではテンプレートデザインパターンが多く使われており、代表的なテンプレートデザインパターンはspringmvc viewなどです。





