我应该为每个模型创建一个界面吗?

Jam*_*xon 7 asp.net-mvc dependency-injection ninject ninject-2 asp.net-mvc-2

我刚刚开始使用Ninject进行依赖注入(DI),并且正在通过我的控制器工作,希望将它们与我的模型分离得更多一些.

目前,在我的控制器内部,我正在创建一个给定模型的实例,例如:

var activitiesModel = new ActivitiesModel();
Run Code Online (Sandbox Code Playgroud)

对于我以这种方式实例化的每个模型,我应该为这些模型提取接口然后使用DI将这些东西绑定在一起吗?

我目前正在执行此操作的示例位于我的ActivitiesController中:

IActivitiesModel _activitiesModel;

        public ActivitiesController(IActivitiesModel activitiesModel)
        {
            _activitiesModel = activitiesModel;
        }
Run Code Online (Sandbox Code Playgroud)

这在我的global.asax中绑定在一起:

Bind<IActivitiesModel>().To<ActivitiesModel>();
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我应该为每个在控制器内实例化的模型创建一个新界面吗?

欢呼任何帮助和推动正确的方向:-)

Dar*_*rov 5

这取决于这些模型正在做什么.如果他们拥有数据访问和操作方法,那么它们应该被抽象化以削弱控制器和数据访问逻辑之间的耦合,并简化分离测试.如果它们只是POCO和/或数据传输对象,那么您不需要抽象它们.