【问题标题】:Relation between classes类之间的关系
【发布时间】:2011-05-01 11:44:53
【问题描述】:

我的系统有一个 User 类,它有很多属性:姓名、电子邮件、地址、电话号码等。它还有一个 UserAccount 类,它有一些属性:用户名、密码和盐。这是一个博客应用程序。 UserAccount 提供登录和注销方法。 现在我不知道谁将与 Posts 相关。 User 应该包含帖子还是 UserAccount? 谢谢。

【问题讨论】:

    标签: java php uml analysis architecture


    【解决方案1】:

    虽然我不确定您为什么一开始就将 User 和 UserAccount 作为单独的类,但听起来您希望 UserAccount 仅用于身份验证,因此根据您提供的信息,我想说将它们与用户对象。

    【讨论】:

    • 我不想给用户类太多的责任。 UserAccount 就像一个身份验证类。谢谢。
    • 一个用户可能有两个帐户。系统是否需要反映这一事实是另一回事。
    • @DJClayworth,这就是我添加“基于给定信息”条款的原因。情况可能是这样,但根据原始问题中给出的内容我无法判断。
    【解决方案2】:

    我认为这取决于用户是否可以拥有多个用户帐户。如果是,我会将帖子与 UserAccount 相关联。否则我认为这并不重要。

    【讨论】:

    • 一个用户只能有一个用户帐户
    【解决方案3】:

    我想这真的取决于你如何看待它。

    每个用户是否始终拥有一个用户帐户,或者一个用户是否有可能拥有多个用户帐户(反之亦然)。我想我会把它放在用户类中。

    如果是一对一的关系,真的没有理由不将它们合并在一起。

    【讨论】:

      【解决方案4】:

      我想说让它与 UserAccount 相关,因为那是存储您的用户名的地方,它可以识别您的帖子。大多数人不会乐意将他们的真实姓名自动发布到互联网上(Ala:Battle.net RealID)。

      【讨论】:

        【解决方案5】:

        我会给出与 UserAccount 类的关系。这样,您可以实现删除“帐户”而不会丢失其个人信息的功能(如果这是一个问题)。此外,它还可以让个人轻松拥有不同类型的帐户(例如,如果您的网站是社交网站,那么也许每个用户都可以拥有个人帐户和专业帐户)。

        否则,只要 User 和 UserAccount 在概念上代表同一个实体,它似乎并没有太大区别。

        【讨论】:

          【解决方案6】:

          恕我直言,帖子应该是它自己的一个单独的类,用户名作为键/属性

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-03-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多