デザインパターン(構造モデル、行動パターン)

まず、構造モデル

1のアダプタモードの
    ようなそれらの互換性のないクラスとして、ターゲット・インタフェースに適応を適合させることにより、具体的なクラスを介しては一緒に働くことができます。
   例えば:バイナリサーチかつ迅速に放電(フィッタ)DataOperation(ターゲット・インターフェイス)、及び、操作アダプタ(アダプタ)を動作させるためにカプセル化することができます。[アダプタ(クイックソートsortobj、BinarySearch searchobj)]
2ブリッジモード
    抽象が今は開閉の原理を満たすために単独で変化させることができるように、クラス単位を置き換えるために、ソースコードを変更せずに達成いくつかの分離を達成します。
前記組合せパターン
      オブジェクトは、ツリー構造に編成され、全体的な関係の一部を説明するために使用することができます。
      例:アンチウイルスソフトウェアを形成します。

メンバーの葉は、それらのウイルス対策ソフトウェアを完了するためのステップバイステップ
    
4.装飾的なパターンを
     他のオブジェクトに影響を与えずに、ダイナミックかつ透明では、各オブジェクトに責任を追加します。

     例:簡単なフォームを作成する- >フォームは、スクロールバーを追加する- >フォームが透明形になります。        
5.外観モードが

     インターフェースのセットをサブシステムとのインタフェースを定義するための一貫性のあるインタフェースを提供し、このインターフェイスは、簡単にサブシステムを使用することができます。
サブシステムとユーザ〜の間の疎結合を達成するために、
6フライ級

     共有し、特定の共通要素:その名前を。効果的なシステムは、オブジェクトのほんの数を使用して、技術の再利用の共有によって、小さな多数のオブジェクトをサポートしています。
例:バックギャモン。合計は小さなバーの対象を移動することはできません、それが唯一の白/黒のオブジェクトが別の場所に表示することができるシステムに存在しています。
7.プロキシモードは、

     クライアントが直接オブジェクトを参照することができない、プロキシ仲介その間。
例:バイナリツリーの外部に書き込みが直接所望の機能を達成するためにプライベート関数にアクセスするようにもインターフェースを介して、ルートノードにアクセスすることができない場合。
別の例:VPN

モデルのII型


1デューティチェーン

   鎖に一緒に、複数のオブジェクトが要求を受け入れる可能性があるように、これらのオブジェクトを送信側と受信側を単離するために、転送要求に沿ってチェーンまでオブジェクトは、これまでのところ、それを処理します。
       例:ファイルシステムを検索します。
        注:すべての要求を処理するために複数の要求を伴うことが責任の長鎖ために処理されることを保証するものではありません、システムのパフォーマンスが影響を受けますが、デバッグの際に非常に便利ではありませんすることができます。
2.コマンド・モードの

    要求者は、受信者が結合を低減することが誰であるかを知りません。、夕食のレストランに食事の終点を行くとあなたが料理するのかわからなかった好きなので、大きな柔軟性を簡単にシステムに追加された新しいコマンドを作ります。
 
3.通訳パターンは

     言語の文法を定義し、文の言語を解釈するインタプリタを確立する
     例:ロボットを設定し、下、右、左

4.イテレータパターンは、
       内部データトラバース彼にさらされていません。
       あまりにも多くの場合、イテレータでSTL
5.仲介モデル
       の仲介を使用して、あなたと受信者を隔離します。上記の例のように、あなたは、カップリングを減らし、ウェイターやシェフによって分離されています。
6.覚書モード
       パッケージを破壊することなく、物体と物体の内部状態のキャプチャが外部に格納され、加工対象物が変化した場合、加工対象物は常に前の外観に戻すことができます。前提メモリが十分でなければなりません。
         例:等の復活復活後のゲームのポイントは、ぶら下がっ前の状態に一瞬ハング。
7.オブザーバーパターン
       定義されたオブジェクト間の依存関係-many、オブジェクトが変更された場合、他のオブジェクトが自動的に更新されます。
         例:あなたのマイクロブログ上の誰かのコメントには、各通知バーを求めるメッセージが表示されます。
8.状態モデルは、
        ときに内部状態変更オブジェクトは、彼の動作を変更することを可能にします。
         例:小切手、銀行預金を、多くのデジタル緑、黄色が1000未満である、滞納は赤です。
9.ポリシーモード
         アルゴリズムカプセル化されたクラスは、使用中に、クライアントは、STLのパッケージは、ソート、のように見つけるように、選択アルゴリズム自体を希望しました。

10.テンプレートメソッドパターンの
         テンプレートでは、C ++、あまり使用。
11ビジターパターン
        オブジェクトの動作は、可撓性の訪問者を追加しやすいようにこれと同じ目的のために、異なる役割が異なる動作を有しているが、新しいコンクリート要素の追加は、開閉の原理に反するであろう、このようAbstract Factoryパターンと開いて、傾斜の開閉の原則と同じパターン、。
         例:サイトの訪問者と管理者は、異なる権利および操作があります。
 

おすすめ

転載: www.cnblogs.com/yanglang/p/12034027.html