我想知道创建复杂视图和模型的最佳做法是什么。
我一直在阅读您认为您在模型中处理业务逻辑,并且仅使用控制器来处理请求并查看结果json
,string
等。这是正确的吗?
我看到另一篇文章说,业务逻辑假设在控制器中,域逻辑在模型中。
此外,使用构造函数是最佳做法,还是会导致必须为其扩展活页夹等问题。
任何建议,以及对模型视图和控制器的复杂设计实现的引用都将受到赞赏。
答案 0 :(得分:3)
有很多方法可以实现这一点,我喜欢将所有层分离为单独的项目并使其成为MVVM方式
Orchard是mvc / piranha / nopcommerce的一个很好的例子。
一些旧的采用者将所有业务逻辑放在模型中,其他一些将它们放在控制器中,我认为这些逻辑并不干净。
答案 1 :(得分:1)
理想情况下,业务逻辑将单独放在一个单独的项目中,不知道(没有参考)有关Web项目或数据访问(也是单独的)项目。
答案 2 :(得分:1)
我的观点是所有业务逻辑都应由另一个应用层处理
微软有自己的mvvm定义,一旦我们在他们的平台上开发,它就很有用。
答案 3 :(得分:1)
关于MVC(不是MVVM)
我更喜欢将域逻辑放在模型中,原因有两个。
模型中应该没有UI代码,应该更容易测试。只要有可能,我希望在编写任何UI代码之前拥有一个完全正常工作的模型。控制器可以相信模型正在做正确的事情,只是处理UI问题和重定向内容。
如果您将域逻辑放在控制器中,那么在不同的应用程序甚至控制器之间共享就不那么容易了!