组合复合模式和中介模式

Combining Composite and Mediator Pattern

我很少看到实施这种组合的尝试。但我的问题是,是否建议以某种方式结合这两种模式。在我看来,中介者通过控制复合组件的行为,可能会破坏复合树本身的职责逻辑。有人可以告诉我这是否是错误的,万一将它们结合起来的理由是什么?

哎呀,我们必须创造性地思考如何将这两者合并。让我试一试 ;)

考虑到(在非常简短的描述中):

  • Mediator 控制一组 object 的交互方式;
  • Composite 处理 object 和 object 的组合(一般递归方法);

两种模式的组合可能会产生 Menu object.

例如,菜单渲染器 object 应该 调解 Android 或 iPhone 菜单(例如,在 Xamarin 中)或 HTML 菜单(bootstrapJQuery 基础一)

因此,当 mediating 方法调用根据平台呈现菜单时,它还应该 compose 递归地包含每个项目及其对应的菜单各自的孩子。

希望我能帮到你 ;)