繁体   English   中英

复合图案

[英]Composite Pattern

我有一个关于复合模式的问题。

基类“组件”是否像指向“复合”类中的叶对象的指针?

编辑:让我用下面的话问我的问题。 “Composite 和 Component 类是什么关系?”

这是模式的 uml 类图。

替代文字

复合和组件的关系:

1) Leaf 和 Composite 通常实现一个接口或一个抽象类。 在您的图中,它们扩展了 Component。 所以,你的图表上的关系是继承

2) Composite 包含 Component 的实例。 Component,因为它有时可以是 Composite,也可以包含 Component 的实例。 这称为递归组合 通常,该关系称为聚合

成分

  • 是所有组件的抽象,包括复合组件
  • 声明组合中对象的接口
  • (可选)定义一个用于访问递归结构中组件父级的接口,并在适当时实现它

叶子

  • 表示组合中的叶对象
  • 实现所有组件方法

合成的

  • 表示一个复合组件(有子组件的组件)
  • 实现操作孩子的方法
  • 实现所有的 Component 方法,通常是通过将它们委托给它的孩子

http://en.wikipedia.org/wiki/Composite_pattern

所有容器和容器类都声明与接口( Component )的“是一个”关系。

所有容器类都声明与接口的一对多“具有”关系。

更多在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM