C#
 Computer >> コンピューター >  >> プログラミング >> C#

依存性注入を実装するためのさまざまな方法と、C#でのそれらの利点は何ですか?


結合された(依存する)オブジェクトを分離された(独立した)オブジェクトに注入(変換)するプロセスは、依存性注入と呼ばれます。

依存性注入の種類

DIには4つのタイプがあります:

1.コンストラクタインジェクション

2.セッターインジェクション

3.インターフェースベースのインジェクション

4.サービスロケーターインジェクション

コンストラクタインジェクション

コンストラクターは、パラメーター化された請負業者を通じて公開されたパラメーターをインターフェースするために使用されます。

他のクラスのオブジェクト作成として、contractorメソッドを介して依存関係を注入します。

セッターインジェクション

Getter and Setter Injectionは、Gettter(get(){})やSetter(set(){})などのデフォルトのパブリックプロパティプロシージャを使用して依存関係を注入します。 T

インターフェースインジェクション

インターフェイスインジェクションはGetterandSetter DIに似ており、Getter and Setter DIはデフォルトのgetterとsetterを使用しますが、InterfaceInjectionはサポートインターフェイスを使用して、インターフェイスプロパティを設定する一種の明示的なgetterとsetterを使用します。

サービスロケーターインジェクション

サービスロケーターインジェクションは、依存関係吸収とも呼ばれます。新しいオペレーターの交換に使用されます。メソッドを直接(オブジェクトを作成せずに)呼び出すことにより、クラスの依存関係を非表示にします。

DIの利点

クラス結合を減らします

コードの再利用性を向上させます

コードの保守性を向上させます

アプリケーションテストを改善します

一元化された構成

依存性注入の欠点

依存性注入の主な欠点は、解決する必要のあるインスタンスと依存性が多すぎる場合、多くのインスタンスを一緒に使用することが非常に困難になる可能性があることです。


  1. LiFiとは何ですか?WiFiの違いは何ですか? - 長所と短所

    LiFiテクノロジーとWifi は、インターネットネットワークに基づいて、さまざまなアプリケーションや進歩を実行できるようにするために大いに使用されてきました。 LiFiについてはあまり聞いたことがないかもしれませんが、このテクノロジーは、LiFiを介して送信されるさまざまなデータと通信するための主要な手段として光を使用します。 電磁波を使用するWiFiとは異なり、ルーターとモデムを使用することで、このワイヤレスネットワークの構成を通じて特定のデバイスと通信し、データを取得することを唯一の目的としています。 LiF つまり、それは光通信技術として理解されており、その側面では、無線を介して

  2. WiFi ACとは何ですか?それが私たちに提供する利点は何ですか?

    テクノロジー市場は進化しています。このため、インターネットへのワイヤレス通信を提供するWiFiACに到達しました。 。この新しい標準メカニズムは、接続がより高速で高品質に機能するようにします。 WiFiACは5GHz帯域で動作し、通信への干渉が少なく、160MHzで8つのMIMOストリームを備えています。 WiFiは4つのMIMOでのみ機能するわけではありません。 この新しいメカニズムは、ビームフォーミングテクノロジーを備えているため、パフォーマンスと信号強度を向上させることができます。次に、彼は256-QAM変調を使用します。 これにより、データをより高速に送信できます。 WiFi A