DI

(2016/08/14)
  • Dependency Injectionの略

  • デザインパターンの一種
  • JavaPHPTypeScriptでしか今のところ見たこと無い
  • Rubyにもあった
  • 実装手法

  • コンストラクタインジェクション
  • コンストラクタで注入する
  • セッターインジェクション
  • 依存性のセッターメソッドを用意する
  • インスタンス生成後に注入したい場面で使う
  • 差し替えとかテストとかかな…
  • Traitをうまく使えばいい感じに管理できそうな気もする
  • メソッドインジェクション
  • メソッドに依存性を渡す
  • Laravelのコントローラはこれができる
  • サポートしてるライブラリあまり見かけない
  • フィールドインジェクション
  • プロパティを定義して、そこにインジェクション
  • アノテーション手法が一般的
  • というかそれ以外見たことない
  • 参考記事

  • http://kakutani.com/trans/fowler/injection.html
  • マーチン・ファウラーの記事の日本語訳
  • 非常に分かりやすい
  • http://php-di.org/doc/understanding-di.html
  • PHP-DIのドキュメント
  • デザインパターン DI

general(396)