[[オブジェクト指向プログラミング>OOP]] [[オブジェクト指向プログラミング]] > 依存関係逆転の原則 *依存関係逆転の原則(DIP) [#ee995ed7] ''DIP: Dependency Inversion Principle''~ '''実装の詳細が抽象化した部分に依存するべきである。'''~ 例えば如何に有能な大工がいたとしても、特定のメーカの決まったトンカチしか使えないようでは魅力半減です。~ これはプログラムの方でも同じ事が言えます。 確かにトンカチが無くては家が建てられないかもしれません(そういうことにしといてくだちい><)。~ しかし、正確には「トンカチ」では無く「釘を打つもの」が必要なだけです。「釘を打つもの」と言う責任を持った存在ならなんでも構わないのです。 つまり、実際にトンカチを使う場合は「釘を打つもの」インターフェイスを呼び出し、別の場所で使用可能のツールを使って実装する。そうすれば使えるツールが限られた環境でも「核」となる部分を弄らずに自由に付け替えることが出来る。 >下位モジュールを使う場合は抽象を使って間接的に呼び出せ と言う事です。