デザインパターンのD言語におけるサンプル集*1

生成に関するパターン anchor.png Edit

  • Abstract Factory パターン
    関連する一連のインスタンスを状況に応じて適切に生成する方法を提供する。
  • Builder パターン
    複合化されたインスタンスの生成過程を隠蔽する。
  • Factory Method パターン
    実際に生成されるインスタンスに依存しない、インスタンスの生成方法を提供する。
  • Prototype パターン
    同様のインスタンスを生成するために、原型のインスタンスを複製する。
  • Singleton パターン
    あるクラスについて、インスタンスが単一であることを保証する。
Page Top

構造に関するパターン anchor.png Edit

  • Adapter パターン
    元々関連性のない2つのクラスを接続するクラスを作る。
  • Bridge パターン
    クラスなどの実装と、呼出し側の間の橋渡しをするクラスを用意し、実装を隠蔽する。
  • Composite パターン
    再帰的な構造を表現する。
  • Decorator パターン
    あるインスタンスに対し、動的に付加機能を追加する。Filterとも呼ばれる。
  • Facade パターン
    複数のサブシステムの窓口となる共通のインタフェースを提供する。
  • Flyweight パターン
    多数のインスタンスを共有し、インスタンスの構築のための負荷を減らす。
  • Proxy パターン
    共通のインタフェースをもつインスタンスを内包し、利用者からのアクセスを代理する。Wrapperとも呼ばれる。
Page Top

振る舞いに関するパターン [編集] anchor.png Edit

  • Chain of Responsibility パターン
    イベントの送受信を行う複数のオブジェクトを鎖状につなぎ、それらの間をイベントが渡されてゆくようにする。
  • Command パターン
    複数の異なる操作について、それぞれに対応するオブジェクトを用意し、オブジェクトを切り替えることで操作の切替えを実現する。
  • Interpreter パターン
    構文解析のために、文法規則を反映するクラス構造を作る。
  • Iterator パターン
    複数の要素を内包するオブジェクトのすべての要素に順にアクセスする方法を提供する。反復子。
  • Mediator パターン
    オブジェクト間の相互作用を仲介するオブジェクトを定義し、オブジェクト間の結合度を低くする。
  • Memento パターン
    データ構造に対する一連の操作のそれぞれを記録しておき、以前の状態の復帰または操作の再現が行えるようにする。
  • Observer パターン
    インスタンスの変化を他のインスタンスから監視できるようにする。Listenerとも呼ばれる。
  • State パターン
    オブジェクトの状態を変化させることで、処理内容を変えられるようにする。
  • Strategy パターン
    データ構造に対して適用する一連のアルゴリズムをカプセル化し、アルゴリズムの切替えを容易にする。
  • Template Method パターン
    あるアルゴリズムの途中経過で必要な処理を抽象メソッドに委ね、その実装を変えることで処理が変えられるようにする。
  • Visitor パターン
    データ構造を保持するクラスと、それに対して処理を行うクラスを分離する。
Page Top

投票とコメント anchor.png Edit

選択肢 投票
大変参考になった0  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

コメントはありません。 コメント​/SampleCodes​/DesignPattern編集

お名前:

*1 各々の説明文はWikipediaから転載

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 438, today: 1, yesterday: 0
初版日時: 2009-04-22 (水) 03:49:46
最終更新: 2009-04-22 (水) 03:49:46 (JST) (2928d) by SHOO
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu