Skip to content

Instantly share code, notes, and snippets.

@KatagiriSo
Created July 10, 2014 06:10
Show Gist options
  • Save KatagiriSo/91b3371b883868f22aa0 to your computer and use it in GitHub Desktop.
Save KatagiriSo/91b3371b883868f22aa0 to your computer and use it in GitHub Desktop.
SOLID規則
SOLID規則のメモ
S Single responsibility 1クラス1債務
O Open-Closed 
L Liskov substitution
I Interface
Single responsibility principle
文章を表示するような機能では中身の変化と表示形式の変化と二つの変化する理由がある。これは少なくとも二つの債務があることを意味する。よってクラスとしてはこれを分離する必要がある。
Open-Closed principle
拡張しやすいように作る一方で、
修正しても他に影響がないようにする。
Liskov substitution principle
型が使われているところでは、その型をその型のSubType(派生型)で置き換えても動くように作る。
リスコフの置換規則が破れている例
正方形クラスを長方形クラスの継承で作ってしまう。
Interface segregation principle
インターフェイスと実装の分離
Dependency inversion principle
高レベルモジュールは低レベルモジュールに依存すべきではなく、
どちらのモジュールも抽象に依存すべきである。
抽象は詳細に依存すべきではなく、詳細は抽象に依存すべきである。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment