c# - 什么是更好的 oo 设计方案,为什么?

标签 c# oop

如果我有一个用户并且我希望该用户注册,那么最好是有一个带有接受用户的注册方法的注册类,还是有一个有注册方法的用户对象就足够了

public class Registration
{
    public void Register(User user)
    {

    }
}

public class User
{
    public void Register()
    {

    }
}

用一种方式比用另一种方式有什么优势?

最佳答案

我看待它的方式是根据现实生活中的对象来思考。 “注册”是一个对象,一个真实的“东西”吗?可能不是。

在这种情况下,您拥有的真正“事物”是用户,以及他们正在注册的事物(例如,我假设您在谈论网站)。

所以 - 我可能会创建一个对象来表示用户正在注册的东西 - 例如“站点”,并在其上添加一个 Register 方法。

关于c# - 什么是更好的 oo 设计方案,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3721918/

相关文章:

c# - 尝试使用 C# 在 Windows 注册表中设置 DWORD 值时出错

oop - 具有状态和行为的对象

c# - 如何从具有索引的字典对象中获取特定项目?

c# - 谁拥有 .NET 中的包装流(例如 TextWriter)?

php - php中的动态类名

c++ - 转换运算符在这种情况下有效吗?

javascript - 将我的整个系统创建为一个类或一个具有外部支持功能的对象

java - 根据复杂的逻辑更新列表

c# - 我应该如何处理不完整的数据包缓冲区?

c# - ObservableCollection ListBox 项目删除不工作