デザインパターンは、ソフトウェア設計で発生する一般的な問題に対する一般的な再利用可能なソリューションを提供します。 のパターンは通常、表示関係の相互作用について授業又はオブジェクト。 アイデアは、十分にテストされた、実証済みの開発/設計パラダイムを提供することにより、開発プロセスを デザインパターンプログラミング言語の独自戦略の解決のための共通の問題です。 つまり、デザインパターンは特定の実装ではなく、アイデアを表します。, のデザインパターンできるコードが柔軟になり、再利用、保守性.
プロジェクトに常にデザインパターンを実装することは必須ではありません。 デザインパターンまうわけではありませんのためのプロジェクトを開発。 デザインパターンは、一般的な問題解決のためのものです。 必要があるときはいつでも、将来このような問題を回避するために適切なパターンを実装する必要があります。 どのパターンを使用するかを調べる。 デザインパターンとその目的を理解しようとするだけです。 それまでにのみ、あなたは正しいものを選ぶことができます。,
目標:
各デザインパターンの目的と使用方法を理解する。 したがって、必要に応じて正しいパターンを選択して実装することができます。
例:
たとえば、多くの現実世界の状況では、クラスのインスタンスを一つだけ作成したいと思います。 例えば、個人のアイデンティティに関係なく、一度に国の唯一のアクティブな大統領が存在することができます。 このパターンと呼ばれるシングルトンパターンです。 その他のソフトウェアの例できる単一のDB接続の共有による複数のオブジェクトとして作り別々のDB接続オブジェにも限界があります。, 同様に、ができる構成長やエラーマネージャーのアプリケーションに対する取り扱うすべての問題ではなく複数作成マネージャ。
デザインパターンの種類
デザインパターンの主に三つのタイプがあります:
- Creational
これらのデザインパターンは、すべてのクラスのインスタンス化やオ これらのパターンは、クラス作成パターンとオブジェクト作成パターンにさらに分類できます。, クラス作成パターンはインスタンス化プロセスで継承を効果的に使用しますが、オブジェクト作成パターンは委任を効果的に使用してジョブを成作成デザインパターンは、ファクトリメソッド、抽象ファクトリ、ビルダー、シングルトン、オブジェクトプール、プロ,
creational design patternのユースケース-
1)開発者がデータベースに接続するための単純なDBConnectionクラスを作成し、コードから複数の場所のデータベースにアクセスしたいとしますが、一般に開発者が行うことは、DBConnectionクラスのインスタンスを作成し、必要な場所にデータベース操作を行うために使用することです。 DBConnectionクラスの各インスタンスにはデータベースへの個別の接続があるため、データベースから複数の接続が作成されます。, これに対処するために、dbconnectionクラスをシングルトンクラスとして作成し、DBConnectionのインスタンスのみが作成され、単一の接続が確立されるようにします。 一つのインスタンスを介してDB接続を管理できるため、負荷分散や不要な接続などを制御できます。2)同様の種類の複数のインスタンスを作成し、疎結合を実現したい場合は、Factory patternに行くことができます。 実装するクラス工場デザインパターン作品の架け橋として、複数のクラス. SQL ServerやOracleなどの複数のデータベースサーバーの使用例を考えてみましょう。, あなたがバックエンドとしてSQL Serverデータベースを使用してアプリケーションを開発しているが、将来のoracleにデータベースを変更する必要がある場合は、工場設
- 構造
これらのデザインパターンは組織の異なるクラスとオブジェクトの大きい構造と提供可能です。,構造設計パターンは、アダプタ、ブリッジ、コンポジット、デコレータ、ファサード、フライウェイト、プライベートクラスデー
構造設計パターンのユースケース-
1)2つのインターフェイスが互いに互換性がなく、アダプタを介してそれらの間の関係を確立したい場合、それはアダプタ設計パターンと呼ばれています。 アダプタパターンは、クラスのインターフェイスを、クライアントが期待する別のインターフェイスまたはクラスに変換します。, したがって、これらのタイプの互換性のないシナリオでは、アダプタパター
- 行動パターンは、オブジェクト間の共通のコミュニケーションパターンを特定し、これらのパターンを実現することです。,
行動パターンは、責任、コマンド、インタプリタ、イテレータ、メディエータ、Memento、Nullオブジェクト、オブザーバー、状態、戦略、テンプレートメソッド、ビジターの連鎖です
行動設計パターンのユースケース-
1)テンプレートパターンは、操作におけるアルゴリズムのスケルトンを定義しますいくつかのステップをサブクラスに延期すると、テンプレートメソッドは、アルゴリズムの構造を変更することなく、サブクラス, たとえば、プロジェクトでは、モジュールの動作を拡張できるようにして、アプリケーションの要件が変更されたときにモジュールを新しく異なる方法で振 つまり、開発者がテンプレートデザインパターンにアプローチできるようなシナリオでは、構造を追加できますが変更できません。p>