访问者和组件模式之间的差异

时间:2014-02-28 07:31:45

标签: design-patterns components visitor-pattern

我无法真正理解访问者设计模式与组件设计模式的不同之处。两者似乎只涉及由分立元件组成的容器。

那有什么区别?

1 个答案:

答案 0 :(得分:0)

您的意思是复合设计模式吗?如果是这样,则聚合部分中的两种模式都存在相似性。

但是,在Visitor中,操作不是由聚合结构中的元素完成的。它们被封装在访问者对象中,用于检查(访问)复合元素。它允许轻松添加操作而无需更改聚合类。

访问者可以申请不一定是复合结构的聚合。因此访客和复合材料可以是完全不同的模式。