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

Xai*_*oft 2 c# oop

如果我有一个用户并且我希望该用户注册,那么使用一个接受用户的Register方法的注册类或者它是否足以让一个具有Register方法的User对象更好

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

    }
}

public class User
{
    public void Register()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

以一种方式做另一种方式有什么好处?

Chr*_*rts 6

我看待它的方式是根据现实生活中的对象进行思考."注册"是一个对象,一个真正的"东西"吗?可能不是.

在这种情况下,你拥有的真正的"事物"是用户,以及他们注册的东西(例如,我假设你在谈论一个网站).

所以 - 我可能会创建一个对象来代表用户注册的东西 - 例如,'Site',并在其上添加一个Register方法.