DIのサンプル

下記に、C#でDependency Injection (DI) を使ったサンプルコードを示します。 このサンプルでは、ASP.NET CoreのDI機能を使用しています

public interface IDataAccess
{
    string GetData();
}

上記のインターフェイスを実装したクラスを定義します

public class DataAccess : IDataAccess
{
    public string GetData()
    {
        return "Data from DataAccess";
    }
}

DIコンテナに、インターフェイスと実装クラスを登録します

services.AddTransient<IDataAccess, DataAccess>();

DIコンテナから、インターフェイスを使用して実装クラスのインスタンスを取得します

public class HomeController : Controller
{
    private readonly IDataAccess _dataAccess;
    public HomeController(IDataAccess dataAccess)
    {
        _dataAccess = dataAccess;
    }

    public IActionResult Index()
    {
        var data = _dataAccess.GetData();
        return Content(data);
    }
}

このように、DIコンテナを使用して、インターフェイスと実装クラスを結びつけることで、インスタンスの生成や管理を自動化します。 DIを使用することで、クラス間の依存性を管理し、コードのテストや再利用性を向上させることができます。

なお、上記のサンプルは、ASP.NET Coreに特化したものであり、他のフレームワークやプログラミング環境では異なる実装方法になる可能性がありますのでご注意ください

C#,学習,設計

Posted by hidepon