首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当视图模型完成所有的输入验证时,为什么我仍然需要在asp.net mvc中使用业务模型?

当视图模型完成所有的输入验证时,为什么我仍然需要在asp.net mvc中使用业务模型?
EN

Stack Overflow用户
提问于 2012-04-14 02:33:41
回答 1查看 167关注 0票数 1

这不是一个视图模型与模型的问题!

这可能是典型视图模型的属性:

代码语言:javascript
复制
    [Required]
    [StringLength(6, MinimumLength = 3)]
    [Remote("IsUID_Available", "Validation")]
    [RegularExpression(@"(\S)+", ErrorMessage = "White space is not allowed.")]
    [Editable(true)]
    public String UserName {get;set;}

那么,除了将数据传输到数据访问层之外,我还需要模型做什么呢?那么它就不是一种商业模式。它是一个数据访问对象:http://en.wikipedia.org/wiki/Data_transfer_object

如果您不遵循MVC或MVVM。将所有的属性垃圾放在模型上似乎是完全有效的。

但是,当我们使用UI模式时,使用模型进行输入验证总是很糟糕的。

看起来..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-14 04:18:51

域模型通常是防止无政府状态的最后一道防线。您可能会在不同的应用程序和视图中重用它。它代表了您最宝贵的资产:域数据。如果您没有对域模型进行验证,而仅仅依赖于视图模型,那么您可能会发现自己处于这样一种情况:开发人员可能会添加一个视图,而不对视图模型执行任何验证,这样您就会得到损坏的数据。当然,所有这一切都依赖于一些更大的代码库,在这些代码库中,您可以重用大部分代码,并且可以让多个开发人员同时在系统的不同层上工作。

如果您只是在构建一个小型应用程序,其中您的域没有任何重用,那么您可以不对其进行验证。

因此,我认为这真的取决于许多因素,比如你正在构建的系统的性质,它的特定背景和要求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10146405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档