|
|
1
2
虽然这两种设计模式是互补的,但它们的意图不同: 根据这一原则,访问者不在那里存储持久数据。因此,是的,任何可能特定于某类员工的属性都应保留在组合中。 事实上,你有大量的属性(无论是特定于某个员工的派生属性还是所有员工的共同属性),这不会改变原则。访问者模式旨在通过使用不同的访问成员函数(每个不同的类一个)来处理组合中的不同类型的元素。 唯一不便的是,当您向复合结构中添加新类时,您需要相应地修改访问者。 您可以在访问者中放入一些值,只是暂时的,以执行操作。例如:
实施问题: 访问者模式的实现不完整。您没有通过复合结构的访问逻辑。 看看您打算使用访问者的方式,我想知道您是否不想为对象添加属性/函数,而不是浏览它们。 我建议你看看 decorator pattern ,更适合这种用法:它是一种结构模式,扩展了现有的类家族。 |
|
|
2
2
问题是从
方式
请记住,在一般情况下
同样,如果将单个结果保存在属性中,如在
通常
因此,我可以想象访客创建了销售人员的区域列表:
|