まず、デザインパターン(デザインパターン):
1.デザインパターンの概念
先行それは、特定の一連のルーチンの問題を解決することで、コードの開発経験をまとめたものです。これは、構文は定義されていないが、解の集合は、コードの再利用性、保守性、可読性、堅牢性とセキュリティを向上させるために使用することができます。コードの信頼性を確保するために、他人を理解するために、コードをより簡単に、再利用可能なコードにデザインパターンを使用してください。
2.意味のある学習デザインパターン
オブジェクト指向設計の原則、クラス関係のカプセル化、継承やポリモーフィズムの組み合わせとクラスとの関係を徹底的に理解を使用して、実際のデザインパターンの性質。デザインパターンの適切な使用は、次のような利点があります。
- あなたは、思考スキル、プログラミングのスキルと設計機能のプログラマを向上させることができます。
- コードのより標準化され、多くのエンジニアリング準備、大幅にソフトウェアの開発サイクルを短縮するため、ソフトウェア開発の効率を向上させることをプログラミングしてください。
- 設計コードの再利用性の高い、読みやすい、高い信頼性、優れた柔軟性と保守性。
第二に、デザインパターンの分類:
23種の合計でJavaデザインパターン、合計3つのカテゴリに分類することができます。
Factory Methodパターン、Abstract Factoryパターン、シングルトン:スキーマ、5つのカテゴリーの合計作成モード、Builderパターン、プロトタイプモデルを
構造モデル、7種類の合計:アダプタモード、デコレータモード、プロキシモード、外観モード、ブリッジモード、組み合わせモード、フライ級。
行動パターン、11種類の合計:Strategyパターン、モードを説明するためのテンプレートメソッドパターン、オブザーバーモード、イテレータパターン、責任のチェーン・モード、コマンドモード、メモモード状態モード、ビジターパターン、仲介モデル。
並行処理パターンとスレッドプールモード:実際には、2つのタイプがあります。
デザインパターンの第三に、6つの原則:
一般的な原則 - 開閉の原則
拡張のためのオープン、修正のため閉鎖。プログラムを展開する必要がある場合、元のコードを変更しますが、既存のコードを拡張しません。一つの文にまとめ:プログラムの拡張を維持し、アップグレードが容易な、良いようにするには。
1.シングル責任の原則
複数のクラスが存在しない理由は、それ以外の場合は、クラスを分割する必要があり、各クラスは、単一の責任を実装する必要があることを意味し、変化をもたらします
2、リヒターの置換原則(リスコフの置換原則)
リヒターの置換原則(リスコフの置換原則LSP)は、オブジェクト指向設計の基本原則の一つです。リヒターは、任意の基底クラスが表示されることが交換の原理は、サブクラス出現することができるであろうと述べました。LSPは、派生クラスが基本クラスを置き換えることができた場合にのみ、機能のソフトウェアユニットは影響を受けません礎石は、基底クラスが実際に再利用できる多重化継承され、派生クラスは、基本クラスに基づいて新しい動作を追加することができます。リヒターの置換原則がある - 「オン - オフ」の原則を追加します。原則として抽象化における重要なステップである - 「閉じオープンは」達成するために。リヒターは、原則的に置き換えサブカテゴリと親クラスのメソッドのオーバーロードを上書きしないようにしてください。親クラスが明確に定義された構造を表しているので、外の世界と対話するために、このインタフェース仕様によって、サブクラスはそれを破壊してはいけません。
3.依存性逆転原理(依存性逆転原理)
抽象に依存指向プログラミング・インタフェースは、特定には依存しません。コードを書くときに、特定のクラスで使用する場合は、いない、と上のインターフェイスは、特定のクラスとの相互作用の特定のタイプと対話します。
4、インターフェース分離原理(インタフェース偏析原理)
そうでない場合、インタフェースは分割することが必要となる場合は、各インタフェースは、実装するサブクラスではなく、この方法では存在しません。単一のインターフェース(インターフェースメソッドのセットへのインターフェイス)を使用するよりも界面分離複数の、良好です。
5、デメテルの法則(少なくとも知られている原則)(デメテル原理)
エンティティは、エンティティと他の間の相互作用を最小限に抑える必要があり、独立した機能モジュールよう:なぜ、少なくとも既知の原理を呼び出し、それは言うことです。
図6に示すように、多重化原理(複合リユース原理)の合成
原理は、合成ポリマーの情報/代わりの継承を使用することです。
第四に、最後に書かれました
Benpianは、フォローアップのブログ記事を、一般的なプレゼンテーションを行いましたJAVAのデザインパターンと原則に分類され、我々は注意加入を歓迎し、各デザインパターンの特定の実装を紹介していきます。