BETA

SOLID原則の小まとめ

投稿日:2019-04-24
最終更新:2019-04-24

S:Single Responsibility Principle:単一責任の原則
複数種類の相手が使う関数は同じモジュールの中に持つべきでない
理由:
ある相手のためにモジュールを修正したときに、別の相手の使用時に不具合が出る可能性があるから

O:Open/closed principle:オープン/クローズドの原則
モジュールを変更するとき、修正でなく、拡張の形で行われるべきである。
理由:
モジュールを修正すればそのモジュールを使うすべてのモジュールが影響を受けるから

L:Liskov substitution principle:リスコフの置換原則
AのサブクラスBを作るとき、プログラム内のすべてのAをBに置き換えてもプログラムの振る舞いが変わらないように作るべきである。
理由:
この原則が守られなければ、新たにBを追加したときに使用元プログラムで条件分岐を書かなければならなくなる。これはオープン/クローズドの原則にも反する。

I:Interface segregation principle:インタフェース分離の原則
モジュールが沢山のユーザから使用される沢山の関数を持ってしまっているとき、ユーザごとに異なるインターフェースを用意し、元のモジュールはそれらのインターフェースを実装するようにすればよい。

D:Dependency inversion principle:依存性逆転の原則
変更が多いモジュールを参照すべきでない。よって、上位のモジュールが下位のモジュールに依存すべきでない。これを実現するために、抽象クラスを作って下位のモジュールがそれを継承するようにし、上位のモジュールはその抽象クラスを参照するようにする。

まとめ:
SOLID原則は、プログラムに変更が生じたときにその影響を最小限に抑えるために守るべき原則である。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

todey I learned

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!