免責事項: この一連のブログの参考資料は、Cheng Jie 著の「Dahua Design Pattern」です。
テンプレート パターンは、抽象クラスを準備し、具体的なメソッドと具体的な構造の形式でロジックの一部を実装してから、サブクラスに残りのロジックを強制的に実装するためのいくつかの抽象メソッドを宣言します。サブクラスが異なれば、これらの抽象メソッドを異なる方法で実装できるため、残りのロジックの実装も異なります。最初にトップレベルのロジック フレームワークを開発し、ロジックの詳細は特定のサブクラスに任せます。
UML クラス図:
役割:
抽象テンプレート ロール (MakePhone): 特定のアルゴリズム プロセスとサブクラスが実装する必要があるいくつかの抽象メソッドを定義する抽象テンプレート クラス。
:具体的なサブクラスの役割 (XiaoMi): MakePhone で抽象メソッドを実装します。サブクラスは独自の実装を持つことができます。形式ですが、実行プロセスは MakePhone によって制御されます。 : ded コアコード:
:
該当するシーンと利点:
1. プロセスまたは一連の手順を完了する特定の詳細レベルまたは一連のステップでは一貫していますが、より詳細なレベルでの個々のステップの実装は同時に同じではない可能性があります。通常、これに対処するにはテンプレート パターンの使用を検討します。
2. メソッドのサブクラス実装で不変動作と可変動作が混在する場合、不変動作がサブクラス内で繰り返し表示されます。テンプレート パターンを使用してこれらの動作を 1 か所に移動し、サブクラスがもつれを回避できるようにします。反復的で不変の動作。
3. テンプレート パターンは、変更されていない動作を超抽象クラスに移動し、サブクラス内の重複コードを削除することで、その利点を反映しています。テンプレート パターンは、コードを再利用するための優れたプラットフォームを提供します。