逆境から飛躍へ 

~30代からのスキルアップ~

C# DIコンテナなるものがあるらしいけどよくわからん(;'∀')

 

・・・・・・ブログ村参加中!・・・・・・

ブログランキング・にほんブログ村へにほんブログ村

PVアクセスランキング にほんブログ村

応援お願いいたします!

・・・・・・・・・・・・・・・・・・・・

 

 

 皆さん、おはようございます。

 

 

 今週は1日祝日があったので

 1週間が早く終わるので

 とてもありがたいです。

 

 

 仕事が出来ない私は

 仕事が嫌いなので、、、苦笑

 

 

 ではでは、仕事は嫌いですが

 良くなりたいという向上心はあるので

 プログラミングの勉強は

 たまに行っています(;・∀・)

 

 

 ということで

 今日は、C#関連の記事です。

 

 

 

 私自身、プログラムを書くことは

 基本的にはないのですが

 せっかくこの業界で

 仕事をしているなら

 少しは勉強したいということもあり

 ※何なら自分でコードを書けるように

  なりたい、、、

 会社のコードを見て勉強しています。

 

 

 勉強しているのはしているのですが

 よく分からん内容が

 たくさん出てきて

 混乱することが多いのです。

 

 

 今回は、タイトルにある

 DIコンテナが良く分からんとなりました。

 

 

 調べてみると、

 DIは(Dependency injection)の略で

 依存性の注入だそうです。。。

 

 

 、、、全然意味が分からん苦笑

 

 

 別のクラスのインスタンスを生成して

 利用する際に

 依存性が強いと単体テストが大変、

 コードを再利用しづらいといった

 デメリットがあるので

 DIデザインパターンというものが

 あるとのこと。

 

 

 さらにそのDIデザインパターン

 使いやすくしてくれるフレームワーク

 DIコンテナというらしいです。

 ※間違っていたらご指摘ください汗

 

 

 その中で、.Net Core環境では

 [Microsoft.Extentions.

  DependencyInjectio]なる

 DIコンテナが準備されているみたいです。

 

 

 使用するにはNuGetパッケージから

 [Microsoft.Extentions.

  DependencyInjectio]を

 インストールして参照。

 

 

 調べた感じの手順は以下の通り。

 

 1.ServiceCollectionクラスの

   インスタンスを生成

 

 2.DIしたいクラスを登録

   下記のいずれかのメソッドを使用

   ・AddSingleton

   ・AddTransient

   ・AddScoped

 

 3.ServiceProviderを生成

   下記のメソッドを使用

   ・BuildServiceProvider

 

 4.オブジェクトを取得

   下記のいずれかのメソッドを使用

   ・GetService

   ・GetRequiredService

 

 とりあえず昨日の勉強で

 分かったことはここまでです(;'∀')

 

 

 ただ、まだ自分の中で

 全然しっくり来ていないのと

 コードを書いていないので

 かなりふわっとしている感じです。

 

 

 引き続き勉強して

 身に付けたいと思います。

 

 

 それでは、またヽ(^o^)丿

 

 

この記事を最後まで読んで頂いて、

本当にありがとうございます!

 

ブログランキング・にほんブログ村へにほんブログ村

PVアクセスランキング にほんブログ村

 

もし、記事が参考になった、

面白かったと少しでも

感じていただくことが出来たなら、

クリックしていただけたら嬉しいです(^^)

 

応援お願いいたします!