このページは、 GoFのパターン記述のテンプレートを元に、 結城浩がXHTML 1.0で記述しなおしたものです。 項目の訳語は、 『オブジェクト指向における再利用のためのデザインパターン』 (ISBN4-7973-1112-6) に合わせました。 デザインパターン・メーリングリストや、 他のテンプレートへのリンクも参考にしてください。 デザインパターンFAQもどうぞ。
パターンの名前はパターンの本質を簡潔に表現します。 よい名前というものは重要です。 なぜなら、名前は、 あなたが設計を行う上でのボキャブラリ(語彙)の一部となるからです。
以下の問いに答えるような短い文章をここに書きます。 このデザインパターンは何をするものか。 その存在意義、その意図は何か。 このパターンが処理する設計上の問題とは何か。
そのパターンに別の名前があるなら、それを書きます。
設計上の問題を例示するシナリオをここに書きます。 またこのパターンに含まれるクラスやオブジェクト構造が、 どのようにして問題を解決するかについても書きます。 このシナリオがあると、 以下に書かれる抽象的な内容がより理解しやすくなります。
このパターンはどのような状況に適用することができますか。 このパターンを適用して処理できるような、まずい設計の例は何ですか。 そのような状況はどのようにして見つけることができますか。
(このパターンの構造をここに書きます)
このデザインパターンに登場するクラスやオブジェクト、 およびそれらの責任についてここに書きます。
構成要素が担っている責任
責任を果たすために、 各要素がどのように協調しあっているかを書きます。
協調関係についてここに書きます。
目的を達成するためにこのパターンはどのように役に立ちますか。 このパターンを使うことのトレードオフ、それから結果はどうなりますか。 独立して変更できるのは、システム構成のどの部分ですか。
結果はこれこれです。 結果の詳しい解説をここに書きます。
このパターンを実装するときには、 どんな落とし穴、ヒント、テクニックを意識していなければならないでしょうか。 言語固有の問題はありますか。
実装のポイントはなになにです。 ここにその解説を書きます。
このパターンを実装する方法を解説する具体的なコードの断片をここにC++やSmalltalkで書きます。
Program Listing
実際のシステムでこのパターンが使われている例をここに書きます。 GoFは、異なる分野からの少なくとも2個の例をここに含めています。
このパターンに密接に関連しているデザインパターンは何でしょうか。 そのパターンとの重要な差異は何でしょうか。 このパターンと一緒に使うべきパターンは何でしょうか。
最終更新 今日の日付け