.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • オブジェクト指向プログラミングの分野において、
    • ソフトウェア設計の5つの原則を記憶するための頭字語。
    • Robert C. Martinにより提唱された原則の一部を集めたもの。
  • 以下の目的で考案された。 ソフトウェアを、
    • より理解し易くする。
    • より柔軟にする。
    • よりメンテナナンス性を高くする。
  • ソフトウェア設計の原則であるGRASPとは無関係。

詳細

単一責任の原則(Single responsibility principle)

  • 1つのクラスは1つだけの責任を持たなければならない。
  • すなわち、ソフトウェアの仕様の一部分を変更したときには、
    それにより影響を受ける仕様は、そのクラスの仕様でなければならない。

開放閉鎖の原則(Open–closed principle

  • 「ソフトウェアのエンティティは
    拡張に対して開かれていなければならないが、
    変更に対しては閉じていなければならない。」

みたいな話。

リスコフの置換原則(Liskov substitution principle)

  • 「プログラムの中にある任意のオブジェクトは、
    プログラムの正しさを変化させることなく、
    そのサブクラスのオブジェクトと置換できなければならない。」

みたいな話。

インターフェイス分離の原則(Interface segregation principle)

  • 「汎用的な目的のインターフェイスが1つだけあるよりも、
    特定のクライアント向けのインターフェイスが多数あった方がよりよい。」
  • オプショナルな機能を基本クラスのインターフェイスに実装るとアレ。
    従って、
    • インターフェースをグループ毎に分け
    • 必要に応じてにインターフェース継承する。

依存性逆転の原則(Dependency inversion principle)

「具体ではなく、抽象に依存しなければならない」

参考

GRASP(General Responsibility Assignment Software Pattern)

よくわかるSOLID原則|erukiti|note

1: S(単一責任の原則)

https://note.com/erukiti/n/n67b323d1f7c5

2: O(オープン・クローズドの原則)

https://note.com/erukiti/n/n959277a74dd0

3: L(リスコフの置換原則)

https://note.com/erukiti/n/n88b8ed99f1e1

4: I(インターフェース分離の原則)

https://note.com/erukiti/n/n3daa55541bc8

5: D(依存性逆転の原則)

https://note.com/erukiti/n/n913e571e8207

Qiita

SOLID原則まとめ

https://qiita.com/kahirokunn/items/84b70631507928786bbb

SOLID原則について簡単に書く

https://qiita.com/yui_mop/items/93fef037a787318e7067

マイクロソフト系技術情報 Wiki

デザイン・パターン

IoC

DI

IoC、AOP → DI → 依存性反転原則


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-09 (日) 17:35:20 (232d)