[英]Does the Display attribute in the model violate separation of concerns from view and model
可能是一个愚蠢的问题。 但是没有使用Display属性指定模型中的标题违反了关注点分离原则吗? 标题不应该属于视图吗?
如果没有,有人可以解释为什么它属于模型吗?
MVC框架允许您将DataAnnotations
放在模型中,但严格来说, DataAnnotations
应放在ViewModel中,而不是放在映射到数据库的Model中。
不,如果它是您的ViewModel ,它不会违反该模式。
ViewModel通常是一个简单的POCO(普通旧CLR对象),它不包含业务逻辑,大多数只包含属性。
@Html.DisplayFor(x => x.MyProperty)
方法将查找Display属性并使用该信息。 因此,正确的方法是在视图中使用属性而不是任何类型的硬编码文本。
希望这可以帮助
将您的域模型与视图隔离并具有贫血域模型(http://en.wikipedia.org/wiki/Anemic_domain_model)之间存在一条界线。 我个人认为可以将您的域模型在某些地方公开为视图模型上的属性。
我对贫血域模型的个人感觉就是“它促进了事务脚本和类似用例之间的代码重复,减少了代码重用”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.