シングル責任原則(SRA)
クラスは一つのことを行う必要があります。
複数のクラスを変更する理由はないはず
オープンクローズドの原則(OCP)
ソフトウェアエンティティは拡張のために開いたが、修正のために閉鎖しなければなりません。
これは、継承によって拡張の組み合わせを、ソースコードを変更するのではなく、あります
リヒター置換原則(LSP)
サブクラスは、代わりに安全に、基本クラスのクライアントコードを参照することも
インタフェース分掌の原則(ISP)
それは彼らが使用されていないインタフェースに依存する顧客を強制するものではありません
(単一インターフェイス機能)、すなわち、インタフェースは限り小さくなければなりません、
依存関係逆転の原則(DIP)
高度なモジュールは、低レベルのモジュールに依存してはなりません
両方の抽象化に依存すべき
要約は、達成するために依拠すべきではありません
実現信頼抽象を