我已经构建了一个使用Ajax和Spring MVC的Web应用程序游戏。
当玩家按下屏幕上的“开始新游戏”按钮时,我在View中的代码会隐藏该按钮并显示其他游戏按钮。此逻辑位于视图中,而不在模型中。
我的问题是,在视图中拥有这样的逻辑是不是很糟糕的MVC实践?视图应该“尽可能愚蠢”吗?
所有其他逻辑都在我的模型中。
答案 0 :(得分:0)
这在我看来是一个哲学问题。
在MVC中,模型应该是无逻辑的,控制器包含控制器逻辑,并且视图包含视图逻辑。这意味着您的视图中应该有逻辑,但只是与模型显示相关的逻辑。
为了将所有逻辑放在控制器中,您可以做的最好的事情是在按下“开始新游戏”按钮时触发Ajax调用,并从控制器返回true。然后你必须在你的Javascript中有一些视图逻辑位,它隐藏了“开始”按钮并显示其他游戏按钮。
打开和关闭按钮是视图逻辑。你无法避免将它放入视图中。