5つの基本原則
シングル責任原則SRP(シングル責任の原則)
これは、オールインクルーシブ、単一ではないことを関数のクラスを指します。
オープンクローズ原則OCP(開閉原理)
スケーラビリティのモジュールが開いているはずですが、変更の面で閉鎖されるべきです。
たとえば:ネットワークモジュール、のみ元のサーバー機能、そして今クライアント機能に参加したい、それが前提のサーバ機能を変更することなく、コードにする必要があり、クライアント機能を実装するコードを増加させることが可能です
これは、サーバとクライアント、抽象の公開部分から分離する必要があり、初期の設計で必要です。
また、原則として(リスコフの置換原則LSP)
サブクラスは、親クラスを置き換えることができると表示されることがどこでも親クラスで表示されます。
例:会社は毎年恒例のパーティーに従事、すべての従業員は、抽選に参加することができ、それが新しいか古いスタッフの従業員であるかどうかので、関係なく、本社の従業員や駐在員の、すべてがそうでない場合は、同社が不和なり、抽選に参加することができるはずです。
従属原則(依存関係逆転の原則のDIP)
特定の抽象に依存し、下層、上層に依存します。
、及びBからなる抽象インタフェースを定義する必要があり、Aは、抽象インタフェースによって、これを達成するために:Bは、モジュールAよりも小さいBしかし、この時間は機能Aを使用する必要があり、Bは、具象クラスAに直接使用されるべきではないと仮定Bのみ抽象インタフェースを使用して:これは順番にB抽象インタフェースの定義に依存しているオブジェクト依存反転、のBも持ち上げ依存性を、達成します。
下部モジュールによって上部モジュールはBも実施Aに直接依存している場合、それは循環依存をもたらすことができる、依存性を回避することは困難です。
インターフェイス分離の原則(界面偏析原理ISP)
むしろ一緒に強い結合の特定のクラスを介してより単離された介してモジュール間の抽象インターフェース、