理想情况下,控制器应该没有域逻辑吗? 如何在书呆子晚餐中注入一个存储库类?
如果您是那些不将repo注入控制器的人之一,那么如何命名包含引用存储库访问器的代码并使用模型类的app / domain层类?或者你进一步拆分它?怎么样?
添加到问题:
对于上述问题,请您考虑三种情况:
我希望这一添加可以使问题更加清晰,以便我们可以参考常见的场景类型。
答案 0 :(得分:3)
我们将存储库 interfaces 注入我们的控制器,因此我们的控制器不关心域逻辑实现。我们的IoC容器负责确定将哪个类用作每个存储库接口的实现。
答案 1 :(得分:2)
数据访问逻辑!=域逻辑
如果您尝试执行DDD,则可以使用存储库注入控制器。
我根据我目前使用的模式命名了ElephantRepository,ElephantService或ElephantQuery。
我真的很想看到一个MVC应用程序没有从控制器访问存储库/ service / dal层。 ;)