我将通过承认我对 MVC 非常陌生来开始这个问题。设计模式在较高层次上对我来说很有意义,但现在我正在探索 ASP.NET MVC,一些架构部分正在挑战我的先入为主的观念。学习是好事。
我最近一直在使用Oxite作为一种学习工具,由创建 ASP.NET MVC的公司的人员编写,因此,它是一个表面上的 ASP.NET MVC 参考应用程序。
但今天我看到Rob Conery写的一篇关于 Oxite 的博文,上面写着:
Oxite 团队决定做的一件事是将控制器和视图分离到另一个项目中,因为我只能假设业务逻辑与视图逻辑的分离。这可能会导致一些混乱,因为控制器旨在处理应用程序流 - 不一定是业务逻辑。
这让我陷入了困境。这种分离是 MVC 的一个原则,因此是 Oxite 开发人员的错误,还是 Rob 的观点?如果业务逻辑属于模型,为什么 Oxite 团队将其放在控制器中?如果不在控制器中,我如何执行作为业务逻辑的操作?
除此之外,考虑到 Rob 的评论,我是否在使用 Oxite 作为学习基准时犯了错误?