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

Design patterns 访问者和组件模式之间的差异,design-patterns,components,visitor-pattern,Design Patterns,Components,Visitor Pattern,我真的无法理解是什么让访问者设计模式不同于组件设计模式。两者似乎都只涉及由分立组件组成的容器 那么有什么区别呢?你是说复合设计模式吗?如果是这样,那么聚合部分中的两种模式都有相似之处 但是,在Visitor中,操作不是由聚合结构中的元素完成的。它们被封装在访问者对象中,用于检查组合的访问元素。它允许在不更改聚合类的情况下轻松添加操作 Visitor可以应用于不一定是复合结构的聚合。因此,访问者和复合可以是完全不同的模式

我真的无法理解是什么让访问者设计模式不同于组件设计模式。两者似乎都只涉及由分立组件组成的容器

那么有什么区别呢?

你是说复合设计模式吗?如果是这样,那么聚合部分中的两种模式都有相似之处

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

Visitor可以应用于不一定是复合结构的聚合。因此,访问者和复合可以是完全不同的模式