我发现“在同一个项目中拥有控制器/视图,所有模型在单独的类库中”的方式对我来说并不直观。我更喜欢垂直使用它,即在不同的项目中具有相关的控制器/视图/视图模型。
所以我查了一下互联网,发现一些(不是很多)人正在使用区域功能,但我发现做路由时很痛苦。
那么为什么我不能将控制器/视图/视图模型作为单独的项目而不是区域?我无法做到这一点,还是会降低性能,所以没有人使用它?
答案 0 :(得分:2)
您可以构建您想要的解决方案。一切都可以配置为按您想要的方式工作。此外,构建解决方案的方式应该对性能没有影响。
以惯用的默认方式构建解决方案会更加直截了当。 MVC的其他用户已经熟悉默认方式,这使得协作变得简单。即使你觉得另一个结构更好 - 即使 更好 - 你仍然可以通过容忍默认结构而大大受益。
答案 1 :(得分:1)
您实际上可以将视图模型和控制器移动到其他项目。
这不是开箱即用的东西。
您需要创建自己的几个MVC基础结构类的实现,例如:ViewEngine
,控制器工厂等。我不建议采用这种方式,因为您很难将项目迁移到新版本ASP.NET MVC和Microsoft提供的类经过了充分测试和优化。