SOLIDの法則

SOLIDとは、優れたオブジェクト指向設計の5つの原則の頭文字をとったものです。

単一責任原則(SRP)

この原則は、クラスが変更される理由はただ一つであるべきであり、したがって責任もただ一つであるべきであることを述べています。クラスが変更される理由は1つだけであるべきで、そのため責任も1つだけである。

オープンクローズの原則(OCP)

この原則は、クラスは拡張に対してはオープンであるべきだが、変更に対してはクローズドであるべきであることを述べています。クラスは、クラスそのものを変更することなく、容易に拡張できるものでなければなりません。

リスコフの置換原則 (LSP)

:この原則は、派生クラスは基底クラスと置換可能であるべきであることを述べています。サブクラスは、プログラムの正しさに影響を与えることなく、親クラスを置き換えることができる必要があります。

インターフェース分離の原則(ISP)

クライアントが使用しないインターフェースの実装を強制されるべきではないとする原則です。1つの大きなインターフェースを持つより、多くの小さなインターフェースを持つ方が良い。

依存関係逆転の原則(DIP)

この原則は、高レベルのモジュールは低レベルのモジュールに依存すべきではなく、両方とも抽象化されたものに依存すべきであるというものである。高位モジュールは低位モジュールに依存すべきではなく、両方とも抽象化されたものに依存すべきです。