はじめに GolangでDependency Injection(DI)を使って実装する手順はどうなのかな〜と思ったので調べて実装してみた。省略している部分も多いですが、「こうした方がいいんじゃない?」みたいなアドバイスはぜひぜひ。 ※追記 2019/8/30 ディレクトリ構成と参考文献を追加、一部の表現、コードを修正 Dependency Injection(DI)とは 依存性の注入(いそんせいのちゅうにゅう、英: Dependency injection)とは、コンポーネント間の依存関係をプログラムのソースコードから排除し、外部の設定ファイルなどで注入できるようにするソフトウェアパターンである。(Wikipediaより) ということらしいです。DIに関しては、詳しくまとめてくださっている記事があるのでそちらなどで確認していただけるとより理解が深まると思います。 猿でも分かる! Depe
![GolangでDependency Injection - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/5bccd49ae3d380cd5e3e53097bd7eacef6873283/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DGolang%2525E3%252581%2525A7Dependency%252520Injection%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253D47080c4f09679203578fbf81d44f9735%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540Tommy_%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253D203555b745c2703d0f9e1edfe4f73245%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3D3745cbeef278df3a9d0ac9a58b7bff30)