我刚刚开始使用Ninject进行依赖注入(DI),并正在通过我的控制器工作,希望将它们与我的模型分离一些。
目前,在我的控制器内部,我正在创建一个给定模型的实例,例如:
var activitiesModel = new ActivitiesModel();
对于我以这种方式实例化的每个模型,我应该为这些模型提取接口然后使用DI将这些东西绑在一起吗?
我目前正在执行此操作的示例是在我的ActivitiesController中:
IActivitiesModel _activitiesModel;
public ActivitiesController(IActivitiesModel activitiesModel)
{
_activitiesModel = activitiesModel;
}
这是我的global.asax:
Bind<IActivitiesModel>().To<ActivitiesModel>();
这是正确的方法吗?我应该为我在控制器中实例化的每个模型创建一个新界面吗?
为正确方向的任何帮助和推动干杯: - )
答案 0 :(得分:5)
这取决于这些模型正在做什么。如果他们拥有数据访问和操作方法,那么它们应该被抽象化以削弱控制器和数据访问逻辑之间的耦合,并简化分离测试。如果它们只是POCO和/或数据传输对象,那么您不需要抽象它们。