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