7

Ninjectを使用した依存性注入(DI)を始めたばかりで、コントローラーを操作して、モデルからもう少し切り離そうとしています。

現時点では、コントローラーの内部で、特定のモデルのインスタンスを作成しています。例:

var activitiesModel = new ActivitiesModel();

この方法でインスタンス化したモデルごとに、これらのインターフェイスを抽出してから、DIを使用してこれらを結び付ける必要がありますか?

私が現在これを行っている例は、ActivitiesController内にあります。

IActivitiesModel _activitiesModel;

        public ActivitiesController(IActivitiesModel activitiesModel)
        {
            _activitiesModel = activitiesModel;
        }

そしてこれは私のglobal.asaxで一緒に結び付けられています:

Bind<IActivitiesModel>().To<ActivitiesModel>();

これはこれを行うための正しい方法ですか?コントローラ内でインスタンス化されるモデルごとに新しいインターフェイスを作成する必要がありますか?

助けを応援し、正しい方向に微調整します:-)

4

1 に答える 1

5

それは、それらのモデルが何をしているかによって異なります。それらがデータ アクセスおよび操作メソッドを所有している場合は、それらを抽象化して、コントローラーとデータ アクセス ロジック間の結合を弱め、分離テストを容易にする必要があります。それらが単に POCO および/またはデータ転送オブジェクトである場合、それらを抽象化する必要はありません。

于 2010-05-28T11:36:58.237 に答える