SOLID原則
Single responsibility principle、Open-closed principle、Liskov substitution principle、Interface segregation principle、Dependency inversion principleの頭文字です。
単一責任の原則 (single-responsibility principle)
クラスの責務は1つだけ
開放閉鎖の原則(open/closed principle)
拡張に対して開かれ、修正に対して閉じられてるべき
機能拡張ができることと、その際既存コードの修正が要らないことsta.icon
OOPの抽象化上手くやらないとできないやつね
リスコフの置換原則(Liskov substitution principle)
自分が抱えるインスタンスの詳細にリーチするな
self.xxx.yyy.zzzみたいに.で(selfはただの参照なのでカウントせず)2階層以上行くなってやつやねsta.icon
インターフェース分離の原則 (interface segregation principle)(英語版)
文脈に応じたインタフェースを適宜用意しろ
文脈Aでしか使わないメソッドがぶら下がってるインタフェースを文脈BやCで使ってる、みたいなことはするなsta.icon
A用のインタフェース、B用の……と分けろ
依存性逆転の原則(dependency inversion principle)
高次モジュールから低次モジュールに直接依存するな、インタフェース介してゆるく繋げ