リフレッシュデザインパターン

数年後、再びデザインパターンの本を読んで、このニーズ自体の各モードの主なポイントは、より良い理解と使用に役立つ要素と組み合わせ、特定のモデルベース設計を、持ってまとめました。

  • 戦略モード(戦略)
    • その他の機能として異なる個々の抽象インタフェース
    • 組み合わせ抽象クラスで導入された機能
    • 抽象クラスは、各機能モジュールの呼び出しをカプセル化
    • 実装クラスは、実施構成機能に配置することができます
  • モードオブザーバ(オブザーバー)
    • 加入者は、全ての加入者が保有しています
    • データを直接プッシュする更新することができます
    • また、データはベンガル気づく取るように更新することができます
    • 観測者と加入者から切り離さかなりの程度まで
  • デコレータ(デコレータ)
    • デコレータコンポーネントと呼ばれるインタフェースの簡単な実装
    • デコレータと呼ばれるコンポーネントオブジェクトを保持しています
    • 装飾は、デコレータの内側層から開始されます
    • 最も内側のデコレータは、元の部品を持っています
    • ホールドの基礎となるオブジェクトによってパッケージのいわゆる装飾層の完成とトップに戻ります
    • 理論的には1は、無限の1セットを行うことができます
  • Methodモード工場(ファクトリメソッド)
    • デカップリング製品の実装と使用
    • 製品は、抽象化する必要があります
    • インタフェース定義された製品を作成するためのファクトリメソッド
    • この方法は、さらに、使用中に工場内に封入することができます
    • 子供のワークショップは、独自の作成ロジックを設定します
    • 多くの場合、抽象工場のワークショップと併せて使用する方法
    • 製品の定義されたグループを作成するための抽象工場
    • 大規模な特定の製品のこれらの製品またはコンポーネントを作成し、使用するファクトリメソッドを実装
    • 継承によって達成するためのファクトリメソッド
    • 組み合わせて(パス)を達成する抽象ファクトリ
  • Singletonパターン(シングルトン)
    • そのグローバルインスタンスのメモリを注意してください
    • マルチスレッドは、特別な注意が必要です
  • コマンドモード(コマンド)
    • 実行依頼者及び依頼者の髪をデカップリング
    • 内部コマンドは、受信者を含め、また、カプセル化することができる薬剤に直接実行することができ
    • コマンドのサポートを元に戻します
    • マクロは同時に呼び出しで複数のコマンドが含まれています
  • アダプタモード(アダプタ)
    • そのオブジェクトアダプタの組み合わせ
    • 多重継承を達成するためのクラスアダプタ
    • 双方向共通に適応し、古いものと新しいシステム
  • 外観モード(ファサード)
    • 抽象化のレベルから、アダプタのように見えます
    • 新しいパターンを作成するためのシンプルなインターフェイスの外観
    • 既存のインターフェースを使用してアダプタモード
    • 新しいインターフェイスモジュールのパッケージは、より多くのシステムコールを簡素化
    • 互換性のあるパッケージを達成するために、他のシステムへの古いインタフェース
  • Template Methodパターン(テンプレート法)
    • テンプレートのアルゴリズム、サブクラスの実装手順
    • 子どもと親クラスは、環を形成することはできません
    • コールバックメソッドの全体のサブカテゴリのハリウッドモデル
    • フックメソッドのデフォルトの実装があります
    • 組み合わせアルゴリズム、テンプレートの継承、カプセル化アルゴリズムとポリシーパッケージ
    • ファクトリメソッドは、特別なテンプレート方式であります
  • イテレータパターン(イテレータ)
    • ケアの配列ではなく、特定の種類を歩くデカップリング
    • コレクションは、独自のイテレータを持っています
    • 反復子一般的な方法は次の二つのhasNextを含みます
    • アグリゲータは、データを保持し、イテレータを作成します
  • コンバインモード(コンポジット)
    • サブノードにノードとリーフノードのモードの組み合わせ
    • 子どもと葉は、いわゆる透明性を同じインタフェースの組み合わせを達成しました
    • 達成するために子ノードを追加し、余分な取得
    • リーフノードを確保するために、異なるインターフェースを有していてもよいです
    • 複合モードでは、イテレータと共存することができます
    • イテレータは、ツリートラバーサルを達成するために、スタックを満たすために必要があります
    • 子ノードは、空のイテレータヌル分析を減らすために実施することができます
  • モード状態(ステート)
    • 図クラスポリシーモードと同様に
    • ステータス・インタフェースは、スイッチング動作状態を定義します
    • すべての状態は、統一されたインタフェースを実装します
    • ステートマシンを定義し、すべての状態を保持しています
    • ステートマシンの現在の状態を保存します
    • 状態の切り替えは、さまざまな状態によって制御されます
    • ステートマシンの状態の中に次の状態を保持することによって切り替え
  • エージェントモード(プロキシ)
    • これは、リモートエージェントおよびアラートに分けることができます
    • デコレータのような多くの
    • 実際のオブジェクトを顧客にデカップリング、実際のオブジェクトのアクセス制御のより多くの演技、それが実際のオブジェクトを作成するのに役立つかもしれません
    • より多くのデコレータは、行動を増やすことで、オブジェクトを作成しないでください
    • 植物体は、エージェントによって返すことができます -
    • アダプタのような多くの
    • エージェントは、インタフェースを変更するインタフェースアダプタは変更されません。
    • 保護エージェントは、アダプタのように、インターフェイスの一部へのアクセスを制限することができます
  • 複合モード(化合物)
    • いくつかの多目的
    • たとえば、MVC統合戦略上、ポートフォリオ、アダプタなど

  • いくつかの人気のモード

  • ブリッジモード(ブリッジ)
    • 戦略パターンのような多くの
    • メインは、抽象的な機能コンポーネントに依存しています
    • 主な戦略は、特定のモードアルゴリズムを達成することです
    • ホストブリッジモードより抽象的なサブクラスは、異なるアルゴリズムを実装する必要があります
    • 主要な機能コンポーネントが行われ、デカップリングすることができます
    • 複雑さが増します
  • ジェネレータ(ビルダー)
    • 複雑なオブジェクトパッケージの作成
    • 内部非表示の実装
    • オブジェクトのより多くの知識が作成されている必要があり際の記録
  • 責任のチェーン(Resposibility)
    • 単にハンドラのオブジェクトのチェーンとして理解
    • 共通ディスパッチャチェーンの例えば、多くのプログラム
    • あるいは、多くのシステムは、起動時のデータリンクでロードする必要があります
    • 私たちは、データ処理のためのオブジェクトが存在することを保証することはできません
  • フライ級(フライ級)
    • 同じ複数の例は、制御方法であってもよい、ポーリングはアレイ処理を一緒に包装することができます
    • しかし、我々は異なる振る舞いを分離することはできません
  • 通訳(通訳)
    • 主にシンプルな固定の解析を行うには
    • 抽象解釈インターフェイスと複数のインタプリタを実装
    • AND、ORなどのような、互いの内にネストすることができます。
    • 構文の複雑さと多様性ならば、それが収まりません
  • メディエータ(メディエータ)
    • 異なるオブジェクトをデカップリング
    • 彼らは唯一の仲介者に通知する必要があり、メディエータは応じて全体の論理状態を制御します
    • メディエータは、過度に複雑なロジックを行うことができます
  • 覚書(モメント)
    • オブジェクトストアそれを、凝集の優れたメンテナンス事業
    • 典型的には、ストレージおよびアクセスインターフェースを提供
    • ストレージプロセスは時間がかかります
    • あなたは、シリアル化を検討する必要があるかもしれません
  • プロトタイプ(試作品)
    • オブジェクトメソッドのコピーを提供
    • 例えば、クローン
    • オブジェクトレベルの深いコピーが複雑になることができれば
  • 訪問者(ビジター)
    • そのようなコンピュータ異なる操作の異なる構成要素として各特定対象物のデカップリング動作
    • 大規模な操作を使用して、オブジェクト変更のタイプにおける小さな変化
    • 各オブジェクトは、(受け入れる)、訪問者を受け入れ、自分のビジター(訪問)を渡すために訪問者インタフェースを実装します
    • 欠点は、むしろ抽象インタフェースよりも、訪問者が特定の要素にさらされているということです

多くの分類は厳格にも無視できないスティック、があります。

  • 私は、分類します
    • 作成タイプ
      • シングルトン
      • 抽象ファクトリー
      • ファクトリメソッド
      • ジェネレータ
      • プロトタイプ
    • 行動
      • テンプレートメソッド
      • イテレータ
      • 状態
      • 戦術
      • オブザーバー
      • コマンド
      • 通訳
      • 仲介者
      • 訪問者
      • メモ
      • 責任の連鎖
    • 構造の
      • デコレーター
      • 代理
      • エクステリア
      • 組み合わせ
      • アダプタ
      • ブリッジング
      • フライ級
  • 分類II
    • カテゴリ
      • テンプレートメソッド
      • ファクトリメソッド
      • アダプタ
      • 通訳
    • オブジェクト
      • シングルトン
      • 抽象ファクトリー
      • デコレーター
      • 代理
      • エクステリア
      • 組み合わせ
      • アダプタ
      • イテレータ
      • 状態
      • 戦術
      • オブザーバー
      • コマンド
      • ブリッジング
      • フライ級
      • ジェネレータ
      • 仲介者
      • 訪問者
      • メモ
      • 責任の連鎖
      • プロトタイプ

おすすめ

転載: www.cnblogs.com/mengdd/p/refresh-design-pattern.html