Template Method は、 振る舞いに関するデザインパターンの一つで、 アルゴリズムの骨組みを基底クラスで定義し、 サブクラスではアルゴリズムの全体的な構造は残したまま、 ステップを上書きします。
複雑度:
人気度:
使用例: Template Method パターンは、 Java コードではよく見かけます。 フレームワークの利用者に継承を用いて標準機能を拡張する単純な方法を提供するために、 開発者がよく利用します。
Java のコア・ライブラリーでの Template Method の使用例です:
見つけ方: 基底クラスにあるメソッドの一つが、 他の抽象または空のメソッドをたくさん呼んでいる場合、 Template Method を識別できます。
アルゴリズムの標準ステップの上書き
この例では、 Template Method を用いて、 ソーシャル・ネットワークに対して機能するあるアルゴリズムを定義します。 特定のソーシャル・ネットワーク向けのサブクラスでは、 そのソーシャル・ネットワーク提供の API を使って、 ステップを実装します。
networks
networks/Network.java: ソーシャル・ネットワーク基底クラス
networks/Facebook.java: 具象ソーシャル・ネットワーク
networks/Twitter.java: 別の具象ソーシャル・ネットワーク
Demo.java: クライアント・コード
OutputDemo.txt: 実行結果
他言語での Template Method