这会是什么类型的组合物?

时间:2016-05-24 08:18:56

标签: c# oop uml diagrams

我有一个关于如何使用我的代码制作图表的问题。

我有一个类Player,在这个类里面有一些方法。 我有另一个名为HealthManager的类,它决定了玩家的健康状况。

在我的Playerclass中,我使用一个HealthManager对象做出一些决定(比如将生命值降低到0),而在我的HealthManager类中,我正在使用一个PlayerClass对象来获取某些统计数据。

我可以将此类关系称为关联吗?

2 个答案:

答案 0 :(得分:0)

是的,您可以将其称为1:1关联。

答案 1 :(得分:0)

这是一个问题,如果HealthManager是Player的一部分,它根据你的描述(和评论)似乎是这样。

这意味着你在这里有一个全部关系,而且HealthManager被分配给一个Player,这意味着它是一个复合聚合(组合)。 HealthManager可以从播放器中检索某些信息这一事实仅表明该合成也具有向后导航性(即从HealthManager到播放器),这绝对没问题(并且在填充的钻石之前用空心箭头描绘)。

如果HealthManager在播放器被销毁时被销毁,那么您几乎确定它是一个合成。

还要考虑共享和复合聚合都是关联的特化,即它们也是关联。如果您只是记录1:1关联而不是合成,那么说它仍然是正确的,请不要提供有关您的模型的一些细节。