这可能听起来像是一个愚蠢或无意义的问题,但我不喜欢创建这么多层来减少必须编写和维护的代码量。在经典场景中,应用程序逻辑将位于一个调用业务层的类中。但是,如果应用程序逻辑足够简单,那么如果我将应用程序逻辑放入视图模型中会是一种犯罪吗?就我而言,这需要在我的视图模型中调用业务层。
答案 0 :(得分:2)
如果必须,请将应用程序逻辑放在控制器中。
答案 1 :(得分:-1)
当然这不是犯罪。但是理解为什么应用逻辑与用户界面层分离的“正常”(正常)是很好的。通常给出这种分离的最重要原因是当应用程序获得另一个用户界面实现时重用应用程序逻辑的能力。这可以是另一种技术或其他部署模型。此外,为了维护和可读性,这通常是最佳实践。
根据MVC的说法,你正在谈论一个viewmodel的事实可能意味着你正在创建一个不依赖于视图的控制器类。这在某种意义上已经与用户界面分离了。
所以我的观点:如果您将来需要/要求/希望现代化您的用户界面,或者让多个用户界面以相同的应用程序逻辑为目标,那么请在单独的应用程序逻辑组件中付出一些努力。否则,您不会通过在控制器中实现应用程序逻辑来犯罪。