1コース説明します
1.1種類:
1.2定義:
1.3アプリケーションのシナリオ:
1.4利点:
1.5短所:
1.6テンプレートメソッドの拡張:
他のデザインパターンと1.7の関係:
1コース説明します
1.1種類:
行動
1.2定義:
◆定義:スケルトンアルゴリズムの定義とサブクラスが提供する1つまたは複数のステップを実施することを可能にする
テンプレートメソッドは、アルゴリズムのステップのいくつかは再定義し、アルゴリズムの構造を変更することなく、可能◆サブクラスを
このような:冷蔵庫のドアが開くこと、bが冷蔵庫のドア象cに取り付けられました
1.3アプリケーションのシナリオ:
コードの重複を避けるように◆各サブクラスの共通動作は、共通の親クラスに抽出し、濃縮します
◆ 1回の同じアルゴリズムの部分の実現、および変数の挙動が達成するためにサブクラスを左に
例えば:私は、冷蔵庫のドアを開けて冷蔵庫のドアには、サブクラスのいくつかのこれらのテンプレートを継承し、これらのサブクラスで実装特定の機器象や虎インストール、で、抽出の共通部分をシャット。
1.4利点:
◆再利用性を向上させる
◆スケーラビリティの改善
開閉の原則に沿って◆を
1.5短所:
◆相続彼らの欠点は、新しい抽象メソッドを追加するための親クラスならば、すべてのサブクラスは、再度変更する必要があります
◆クラスの数を増やし
、システムの実装の複雑さを増加させます◆
1.6テンプレートメソッドの拡張:
フックメソッド:詳細参照コード
他のデザインパターンと1.7の関係:
Template Methodパターンとファクトリメソッド:
ファクトリメソッドは、特別な実装のテンプレートメソッドです。
テンプレートの方法と戦略モード:
アルゴリズムのプロセスを変更しないTemplate Methodパターンは、戦略的なアプローチは、アルゴリズムのプロセスを変更、可能と戦略の間で交換可能です。
どちらの呼び出しは、パッケージング方法があります。政策のメソッドオブジェクトは、異なるアルゴリズムをモデル化することであるお互いに置き換えることができ、クライアントのアプリケーション層には影響を与えません。
テンプレートメソッドパターンは、達成するためにサブクラスに特異的なステップのうちのいくつかと同じではなく、処理のアルゴリズムの定義であります