OAOO(Once and Only Once:1度、ただ1度)原則

コードの機能、ふるまいについてのみ適用される原則 DRY原則を特殊化したもの

OCP(Open/Closed Principle:開放/閉鎖原則)

クラスなどのプログラム単位は、拡張にに対して「開いて(open)」いなくてはならず、反対に、修正に対しては「閉じて(close)」いなくてはならない DRY原則が守られている場合にのみ有効

SRP(Single Responsibility Principle:単一責任原則)

クラスに変更を加える理由は2つ以上存在してはならない(1つの変更の理由は常に1つでなければならない) DRY原則が守られている場合のみに有効