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

C#でインターフェイスベースのインジェクションを使用して依存性注入を実装するにはどうすればよいですか?


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

依存性注入の種類

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

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

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

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

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

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

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

public interface IService{
   string ServiceMethod();
}
public class ClaimService:IService{
   public string ServiceMethod(){
      return "ClaimService is running";
   }
}
public class AdjudicationService:IService{
   public string ServiceMethod(){
      return "AdjudicationService is running";
   }
}
interface ISetService{
   void setServiceRunService(IService client);
}
public class BusinessLogicImplementationInterfaceDI : ISetService{
   IService _client1;
   public void setServiceRunService(IService client){
      _client1 = client;
      Console.WriteLine("Interface Injection ==>
      Current Service : {0}", _client1.ServiceMethod());
   }
}

消費

BusinessLogicImplementationInterfaceDI objInterfaceDI =
new BusinessLogicImplementationInterfaceDI();
objInterfaceDI= new ClaimService();
objInterfaceDI.setServiceRunService(serviceObj);

  1. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する

  2. Dagger 2 を使用してアプリに依存性注入を実装する方法

    Kriptofolio アプリ シリーズ - パート 4 依存性注入により、コードが大幅に改善されます。これにより、コードがよりモジュール化され、柔軟になり、テストしやすくなります。実際、その名前は背後にある考え方よりも複雑に聞こえます。 シリーズのこのパートでは、依存性注入について学びます。その後、「Kriptofolio」(以前の「My Crypto Coins」)アプリに実装します。 Dagger 2 を使用します。Dagger 2 は、Android 向けの最も人気のあるオープンソースの依存性注入フレームワークです。これは、学習曲線が十分に難しいとはいえ、最新のアプリを作成するため