0

我有一个如下的用户类,它有一个地址属性

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 设计,因为每个对象都照顾自己。

4

0 回答 0