查看下面的UML图(装饰器模式),Decorator和组件之间的关系名称是什么?是协会吗?
答案 0 :(得分:3)
Component和Decorator之间的两个关系构成了另一种模式 - Composite。
它允许创建递归树结构。调用聚合装饰器的操作被委托给其包含的元素。因此,在您的图中,Decorator.Operation()的行为是在每个聚合组件上调用Component.Operation()。由于一个或多个本身可能是装饰器,因此对Operation()的调用将通过树结构传播。
答案 1 :(得分:2)
一个是另一个聚合的扩展(那是在Decorator中具有小nob的聚合)。 这意味着Decorator可以包含0个或更多组件。
HTH
马里奥
答案 2 :(得分:1)
这是aggregation。装饰器有很多组件。
答案 3 :(得分:0)
聚合。看待差异的最简单方法是“待”和“有”。 对象Component“有一个装饰器”。对象Decorator“是一个组件”。
答案 4 :(得分:0)
您正在描述聚合。 问题是这个图表应该从您的代码中反转,或者您应该从图表中获取代码。只是图形化UML设计对我来说还不够。
当我使用没有代码映射到UML的工具时,我的建模迟早会变得可怕! 我创建了很好的图表但除了演示文稿没有人真正使用它们。我意识到团队中的每个人都浪费时间。 我已经切换到专业工具,然后我的项目真正被团队使用,而不仅仅是在故事板中使用过一次的图形视图。 让我感到惊讶的是,开发人员也纠正了我的图表,因为在实现阶段,UML中的优点在代码中是不可能的:-) 这就是为什么如果你使用类图,UML作为独立对我没有价值。我使用开源图形工具做错了,但不会再这样做了!!
答案 5 :(得分:-2)
扩展关系