有什么方法可以保持你的实体清洁吗
本文关键字:实体 清洁 什么 方法 | 更新日期: 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; }
}
...
....
}
将实体封装在视图模型中。视图模型通过视图特别需要的附加字段和行为来补充实体。在这种情况下,它将包含密码确认字段和相关逻辑。