1

そこで、依存性注入と Ioc コンテナーについて調べ始めました。私が知っていることから、DIはクラスの密結合を避けるため、または消費者クラスから依存オブジェクトを作成することを避けるために使用されます。しかし、そのオブジェクトを 1 つのクラスでのみ使用する場合、DI を使用する必要はありませんか? 今私の問題は、エンティティモデルをユニティで初期化するにはどうすればよいですか? 現在、エンティティモデルを次のように初期化するために、通常どおりコンストラクター注入を使用します

public class Food
{
    private FoodContext _foodContext

    public Food(FoodContext food)
    {
        _foodContext=food
    } 
}

ここFoodContextに私のエンティティ フレームワーク モデルがあります。ユニティで初期化するにはどうすればよいですか? 将来、モデルを別のモデルに置き換えたいと思うかもしれないので、ソリューション全体ですべての参照を見つけて置き換えるのは頭痛の種になるかもしれません。そのためには、最初にインターフェイスを作成しますか? 自動生成されたクラスには、非常に多くのプロパティとメソッドが含まれているということです。それは正しくないようです。

では、これを行う通常の慣行は何ですか?

4

1 に答える 1

1

これを実現するには、Repository パターンを見てください。Repository パターン の主なアイデア: インターフェイスを使用して DataProvider を抽象化し、依存性注入を使用して呼び出します。これにより、低結合とテスト容易性という 2 つの主な利点が得られます。

于 2013-01-20T16:53:04.443 に答える