繁体   English   中英

模型中的Display属性是否违反视图和模型中的关注点分离

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM