如果控件类使用另一个类的方法,我们如何建模关联?
例如,如果我有一个允许用户添加或删除其他用户的User
类和一个PortalController
类,我该如何在UML中建模关联?
我认为User
应该是PortalController
的依赖项,因为它使用User
中的方法来创建新用户。
User <--- PortalController
但是用户也是使用PortalController
的用户,所以应该有另一个关联:
uses
User --------> PortalController
我应该画两支箭吗?
答案 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的用法依赖关系,如下所示
现在我很确定你混合了两个不同的用户。
当你说PortalController能够管理一组User时,你正在处理系统的结构/实现,所以有两个类似乎是正常的。
当您说用户登录到您的系统时,您正在处理系统的用例。因此,在这种情况下,用户将是使用您的系统的演员。
有帮助吗?