我刚刚完成了Scott Gu的Nerd Diner教程.我发现它非常有用,因为它不仅教授了ASP.Net MVC的基础知识,还介绍了如何使用存储库,验证,单元测试,Ajax等.非常好,但仍然可以管理.
但是,我很好奇他的网站结构:
具体来说,他为每个对象使用了这个视图结构:
/ ModelObject/Edit/
/ ModelObject/Create /
然后提取两个视图之间的公共元素并将它们放入局部.
我理解逻辑,但如果你的数据库中有一个中等数量的表,它似乎会导致"查看爆炸".
斯科特真的很好,所以我假设他的结构是对的.但我想知道为什么.
谢谢!
[编辑澄清]
我意识到很多时候需要有多个动作(和视图)来处理创建和编辑中的差异.这是非常简单的编辑和创建的情况,其中两个动作之间的唯一区别是在一种情况下模型具有ID并且需要更新,而在另一种情况下模型没有,因此它需要是插入.
在这种情况下,违反"哑视图"规则是否使用相同的视图来处理导致重大问题的两种情况?
视图结构基于控制器,而不是模型.在Mvc方法中,您应该在控制器中查看每个操作(本质上是每个公共方法).控制器操作不必直接与数据库中的每个表匹配,但数据库中的表数与控制器和视图的数量之间可能存在某种直接关系.控制器更高级别
在适用的情况下,在控制器上进行CRUD类型操作是标准的:
这些操作中的每一个都需要一个视图(有时候不止一个).
所以,是的,如果它是一个大型应用程序,你可以收集大量的视图.最小化代码的方法是:
重要的是要指出任何大型应用程序都将有很多形式.无论是Mvc还是Web Forms,如果有大量数据可供使用,那么将会有很多必要的表单.
| 归档时间: |
|
| 查看次数: |
1525 次 |
| 最近记录: |