实际上,做一些业余的UML问题!在创建UML图来模拟某些域概念时,您遇到了一个"保存"某个有关另一个概念的信息的域概念,是否更好地保存对该实体的戳记/引用或将整个实体保存在模型本身中?请记住,这与创建一个简单的高级模型有关 - 我确信在实现阶段,事情会略有不同.
例如,下面两个模型中的哪一个实际上是正确的?第一个有一个组合关系,FlightBooking持有整个Flight.在第二个中,FlightBooking只是对Flight的引用.

其次,在创建高级UML图建模领域概念时,您真正想要了解多少细节?例如,在下图中,航班可以将有关原点/目的地的详细信息保存为字符串,或者我可以为这些概念建模单独的类并创建组合关系.哪两个是可取的?

另外,另外一件事,当上面的模型将飞行"保持"原始/目的地作为另一个类而不是字符串时,这两种方式中的哪一种是正确的建模方法?我很困惑什么时候展示assosciation和什么时候显示组成.
我不确定我是否正确使用了关联和聚合或合成钻石.
我会使用Association for interfaces,因为我无法实例化它们.就像他们在这里做的那样.或者对于静态类,同样的原因.
我只使用可以实例化的物体的钻石.像普通班一样.
但我不确定这是否是区分它们的正确方法,因为如果你再次检查,你会发现它们并没有那么具体.在UML 2.3 规范中,我无法获得更多,所以你如何使用它?
还有第三种方式,虚线<>箭头,但我没有胶水何时使用这个.那么也许你也可以帮助我呢?
我知道java中的关联转换,聚合和组合有不同的表达方式.但是当我们将它们转换为代码(java类)时,它们都以相同的方式表示.像老师教的那个协会将用具有班主任实例变量的学生班来代表.
部门教授的聚合也将由具有类教授的实例变量(数组)的Department类表示.
大学有部门组成也将用具有班级实例变量(数组)的大学班来代表.
所以在代码方面都以相同的方式重新编写.那么协会,聚合和组合为开发人员提供了哪些好处呢?