Principle (原則)
OAOO(Once and Only Once:1度、ただ1度)原則
コードの機能、ふるまいについてのみ適用される原則 DRY原則を特殊化したもの
OCP(Open/Closed Principle:開放/閉鎖原則)
クラスなどのプログラム単位は、拡張にに対して「開いて(open)」いなくてはならず、反対に、修正に対しては「閉じて(close)」いなくてはならない DRY原則が守られている場合にのみ有効
SRP(Single Responsibility Principle:単一責任原則)
クラスに変更を加える理由は2つ以上存在してはならない(1つの変更の理由は常に1つでなければならない) DRY原則が守られている場合のみに有効