オブジェクト指向開発にはSOLIDという重要な原則がある。守らなくても開発はできるが、守って開発すれば、より効率的な開発と保守が可能になる。
実際、「非常に」という表現を使っても過言ではない。したがって、この原則を学び、理解し、常に考えながら新機能を作成・修正することをお勧めする。この原則を理解する頃には、私たちは「コーダー - 機能実装者」ではなく「ソフトウェアプログラマー」になっているだろう。
SOLIDは文字通り「堅固な、固体の」という意味ではなく、5つの重要な原則の頭文字を取って作られた略語である。各文字の意味は以下の通りである。これだけ見て意味が理解できなくても、それは正常だ。
- S: Single Responsibility Principle (単一責任の原則)
- 一つのクラスは、一つの変更理由に対してのみ責任を持つべきである。
- O: Open-Closed Principle (オープン・クローズドの原則)
- クラスは拡張に対しては開かれており、修正に対しては閉じているべきである。
- L: Liskov Substitution Principle (リスコフの置換原則)
- 親クラスを子クラスで置き換えても問題がないべきである。
- I: Interface Segregation Principle (インターフェース分離の原則)
- インターフェースは役割単位で分離されているべきである。
- D: Dependency Inversion Principle (依存性逆転の原則)
- クラスの実装体と使用体は、抽象化によって依存性が逆転されるべきである。