3
|
Charles Boyung · 技术社区 · 14 年前 |
![]() |
1
2
我没有读过你提到的帖子,但是有一个模型来表达几个观点并没有错。 我只需要一个UserModel并在所有视图中使用它,即使有一些字段没有使用。 如果事情变得有点复杂,但是用户仍然有很多共同点,那么您可以对usermodel(User.Address)使用聚合,也可以使用接口(User有street、city和Address字段)。
看完这些帖子后,我发现它们处理的是验证。这是另一个故事。 如果您想使用DataAnotations,那么如果验证不同,就必须有不同的类。我不使用数据注释-所以我猜你的类设计可能不同。 |
![]() |
2
1
|
![]() |
3
0
在ASP.NETMVC中,没有官方要求每个模型只有一个视图。在许多情况下,这会导致代码重复。
|
![]() |
4
-1
热释光;DR:制作许多视图模型。它们既便宜又灵活。 “这似乎违背了DRY原则和其他一些标准编程实践。”
MVC并没有改变这样一个事实:在任何语言或模式中,您都需要为每个单独的屏幕创建视图模型定义。无论是通过属性,通过XML,通过切换web表单控件,等等。
如果将视图模型误认为是面向对象类而不是 homoiconisticish screen 您冒着填充它们的风险的表示将包含各种继承和/或业务逻辑。
|