我总是使用控制器方法返回的方法
ModelAndView。仅仅因为它会使控制器方法变得更简洁。方法参数现在是严格的
input参数。并且所有
output相关数据都包含在方法返回的对象中。
这种
ModelAndView风格似乎引起了不喜欢将输入参数更新为方法的人们的共鸣。坚持认为这将构成副作用,这是一种危险的模式,因为您无法可靠地预测该方法将要执行的操作-
它可能会在返回的对象中返回数据,或者可能会更新任何输入参数中的任何内容。
所以有些人仍然会继续喜欢
ModelAndView。
新样式,带有
Modelas方法参数和返回的字符串作为视图名称。似乎来自稍微不同的设计方法。在这里,模型对象被认为是传递给多个处理程序的事件或项目,然后再返回到呈现它们的视图。它使我想起在AWT
/ Swing世界中如何处理事件。该模型与多个处理程序可以在
Model对象之上构建直到到达视图的方法更加一致。
因此,归根结底,似乎没有明确的理由批评或推广这两种方法。您应该使用与您的总体设计理念更一致的样式。
希望这可以帮助。



