我有一个如下的用户类,它有一个地址属性
public class User : BaseObject
{
#region variables
private AddressVO _address;
private UserDM _dataManager;
#endregion
private UserDM DataManager
{
get { return _dataManager ?? (_dataManager = new UserDM(this)); }
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public AddressVO Address
{
get { return _address ?? (_address = new AddressVO()); }
set { _address = value; }
}
}
我在一个屏幕上显示所有详细信息以及地址。用户可以更改详细信息并保存。
现在我的问题是 Address 和 User 应该有自己的更新方法吗?
public void Update()
{
user.Update();
Address.Update(userId);
}
或者 user.Update() 应该更新地址作为其自身的一部分。
我在第一种方法中看到的问题是我们需要两个数据库查询,而对于第二种方法我们只需要 1 个。但是第二种方法似乎更好的 OO 设计,因为每个对象都照顾自己。