我正在使用Spring MVC
我有两个模型类,两个视图一个用于对象列表,另一个用于单个对象
我想知道MVC概念是在单个控制器中为两个对象提供服务 是对象类似但不一样 无论如何,我将需要不同的方法来处理它们
问题是: 从mvc那边是否可以为两者使用一个控制器?
答案 0 :(得分:1)
我想知道MVC概念在单个控制器中为两个对象提供服务[...]从mvc那边是否可以为两个控制器使用一个控制器?
MVC没有强加这样的规则。 MVC只是将您的代码分成不同的部分,每个部分都有自己的工作。 MVC是关于将关注点分成三个大部分:模型,视图,控制器。但关注点分离不是MVC的事情。 It's a general principle,就像single responsibility principle一样。
因此,您可以决定控制器是否应该同时处理两者,或者您是否需要两个控制器。你应该问自己,对象列表和一个对象细节之间的功能是什么?如果你使用两个控制器,部分代码会重复吗?是一个控制器做多少?是两个控制器做得太少了?如果一个控制器发生了变化,另一个控制器也会改变吗?等等。
阅读以上两个原则,然后决定如何构建它(使用一个或两个控制器)。