【问题标题】:Should I create an interface for each Model?我应该为每个模型创建一个接口吗?
【发布时间】:2010-05-28 11:32:56
【问题描述】:

我刚刚开始使用 Ninject 进行依赖注入 (DI),并且正在研究我的控制器,希望将它们与我的模型进一步分离。

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

var activitiesModel = new ActivitiesModel();

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

我目前正在执行此操作的一个示例是在我的 ActivitiesController 中:

IActivitiesModel _activitiesModel;

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

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

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

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

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

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-2 dependency-injection ninject ninject-2


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多