DI (依存性の注入)についてざっくりメモ

依存性の注入はわかりやすい言葉でいうと、関数やメソッドに別のオブジェクトを渡すこと。

もし、渡さなかった場合、関数内で必要なオブジェクトをnewするようなハードコードになってしまうので、結合度が高くなる。

別のオブジェクトを引数として渡すことでも結合度は下がるが、抽象(interface)に依存せるとより良い。

やり方は、まず渡すオブジェクトにinterfaceを実装する。

オブジェクトを使う側では、そのオブジェクト自体を期待するのではなく、そのオブジェクトが実装しているinterface を期待する。

このようにすることで、その interface を実装したオブジェクトであれば、何でも渡せるようになる。