オブジェクト指向

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

OCP:The Open-Closed Principle ソフトウェアの構成要素(クラス、モジュール、関数など)は拡張に対して開いて(OPEN)いて、修正に対して閉じて(CLOSE)いなければならない。 拡張に対して開いているとは? モジュールの振る舞いを拡張できるということ…

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

LSP:Liskov Substitution Principle 派生型はその基本型と置換可能でなければならない リスコフの置換原則は、継承に関する原則である。 継承は、OCPの要である「抽象」と「ポリモーフィズム」をサポートする鍵となるメカニズムである為、OCPと関係のある原…

単一責任の原則(SRP)

SRP:The Single Responsibility Principle クラスを変更する理由は1つ以上存在してはならない。2つ以上存在すると何が良くないのか? 通常、仕様変更が発生すると、クラスの役割が変化する。 このとき、クラスの役割が1つであれば、どのように変化したのか…