|
|
1
2
虽然这两种设计模式是互补的,但它们的意图不同: 根据这一原则,访问者不在那里存储持久数据。因此,是的,任何可能特定于某类员工的属性都应保留在组合中。 事实上,你有大量的属性(无论是特定于某个员工的派生属性还是所有员工的共同属性),这不会改变原则。访问者模式旨在通过使用不同的访问成员函数(每个不同的类一个)来处理组合中的不同类型的元素。 唯一不便的是,当您向复合结构中添加新类时,您需要相应地修改访问者。 您可以在访问者中放入一些值,只是暂时的,以执行操作。例如:
实施问题: 访问者模式的实现不完整。您没有通过复合结构的访问逻辑。 看看您打算使用访问者的方式,我想知道您是否不想为对象添加属性/函数,而不是浏览它们。 我建议你看看 decorator pattern ,更适合这种用法:它是一种结构模式,扩展了现有的类家族。 |
|
|
2
2
问题是从
方式
请记住,在一般情况下
同样,如果将单个结果保存在属性中,如在
通常
因此,我可以想象访客创建了销售人员的区域列表:
|
|
|
user7794336 · Java中从列表路由方法调用的最佳方法 9 年前 |
|
|
ivme · 用c语言构建封装但可扩展的动画库++ 9 年前 |
|
|
zar · 与访问者的复合模式,访问者中的真正内容是什么? 10 年前 |
|
|
Thomas Matthews · 使用模板解析虚拟方法 12 年前 |
|
|
user35443 · 访问者模式-接口与抽象类 12 年前 |
|
|
zpavlinovic · OCaml访问者模式 12 年前 |
|
|
user1406062 · 访问者设计模式中的循环依赖[关闭] 14 年前 |
|
|
jbcoe · 访问接口的私有继承如何允许可访问对象访问访问私有访问实现? 14 年前 |