如果控件类使用另一个类的方法,我们如何建模关联?

时间:2014-04-15 07:32:43

标签: uml class-diagram

如果控件类使用另一个类的方法,我们如何建模关联?

例如,如果我有一个允许用户添加或删除其他用户的User类和一个PortalController类,我该如何在UML中建模关联?

我认为User应该是PortalController的依赖项,因为它使用User中的方法来创建新用户。

User <--- PortalController

但是用户也是使用PortalController的用户,所以应该有另一个关联:

       uses
User --------> PortalController

我应该画两支箭吗?

2 个答案:

答案 0 :(得分:1)

我认为你应该将用户创建的责任从用户类中提取到另一个类(例如UserFactory)。正如Red Beard已经说过的那样,你的设计似乎覆盖了两个不同的概念&#34; User&#34;。

在这种情况下,您将拥有:

              uses
UserSession --------> PortalController

UserSession --------> User

                    uses
PortalController  --------> UserFactory

PortalController  --------> User

           instantiates
UserFactory --------> User

答案 1 :(得分:1)

如果A类使用来自另一个B类的方法,则应将其建模为从A到B的用法依赖关系,如下所示enter image description here

现在我很确定你混合了两个不同的用户。

当你说PortalController能够管理一组User时,你正在处理系统的结构/实现,所以有两个类似乎是正常的。

当您说用户登录到您的系统时,您正在处理系统的用例。因此,在这种情况下,用户将是使用您的系统的演员。

有帮助吗?