Map.putAll(Map)方法中的复合设计

时间:2014-08-06 05:08:13

标签: java design-patterns

我怀疑。使用复合模式实现Map.putAll(Map)方法,我想知道,它是否正确?

因为PutAll()方法存在于Map的所有死者中,无论叶子还是非叶子。

我的疑问是,在复合类add(Composite)中将出现在非叶类中,但在Map中它出现在接口级别,这意味着即使叶类具有到组件的聚合链接,这也是矛盾的复合设计模式的类图,因为它显示了从复合到组件的聚合链接,而不是从叶到组件。请帮助

由于 Praveen B

1 个答案:

答案 0 :(得分:0)

来自wikipedia

  

复合模式描述了一组对象的处理方式与对象的单个实例相同。复合的意图是将对象“组合”成树结构以表示部分整体层次结构。通过实现复合模式,客户可以统一处理单个对象和组合。

通过阅读本文,您应该回答您的问题: 地图不是复合

当你写:

  

map1.putAll(MAP2)

您没有在map1和map2之间创建父子关系。您只需将所有map2内容放在map1中。