1

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

这可能是典型的 viewmodel 的属性:

    [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 模式时,使用模型进行输入验证总是不好的。

那看起来...

4

1 回答 1

3

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

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

因此,恕我直言,这实际上取决于许多因素,例如您正在构建的系统的性质、其特定的上下文和要求。

于 2012-04-13T20:18:51.360 回答