有什么方法可以保持你的实体清洁吗

本文关键字:实体 清洁 什么 方法 | 更新日期: 2023-09-27 18:29:41

问题假设我们有一个个人实体:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Password { get; set; }
    public string Email { get; set; }
    public bool IsAdmin { get; set; }
}

很简单,这里没什么特别的。现在我们有了这个实体,我们想用数据来填充它。我们要创造一个新的"人"。我们可以将这个实体返回到我们的视图中,这样我们就可以用数据填充它并持久化整个过程。但这导致了多个问题:

我们可能不希望用户选择自己的ID。我们希望用户确认他的密码,所以我们可能需要2个密码字段。我们不希望用户选择是否想成为管理员(尽管这可能会导致一些很酷的实验)如果我们正在更改我们的数据库(以及实体),我们的表单将依赖于与我们最初打算的不同的实体。

有什么方法可以保持你的实体清洁吗

您所说的是MVVM模式,通常用于WPF

您应该有一个View:ViewModel的模型对象和Model的模型对象:模型

可以封装在ViewModel中,就像一样

public class PersonViewModel
{
   Person _person = new Person(); 
   public string PasswordUser {get;set;}
   public string PasswordConfirm {get;set;}   
  public string Name 
  {
     get{ return _person.Name};      //I assume Person has a Name property
     set {_person.Name = value; }
  }
  ...
  ....
}

将实体封装在视图模型中。视图模型通过视图特别需要的附加字段和行为来补充实体。在这种情况下,它将包含密码确认字段和相关逻辑。