SOLID
S:
単一責任の原則
O:
オープン・クローズドの原則
L:
リスコフの置換原則
I:
インタフェース分離の原則
D:
依存性逆転の原則
完全なプログラミング
と通じるところがある
無駄がなく変更に強い(無駄がないから変更に強い)