在这种情况下,访客模式的Accept方法应该在哪里定义?

时间:2009-05-30 09:34:28

标签: design-patterns oop

我们提供的服务包括仅限教育课程,应课税,非应课税。税收还可以是以下类型:边缘,销售,消费税,Octroi,教育税,补贴,其他地方税。
我们计划使用访客实施税收计算。什么是Visitable类/接口,Service或TaxCategory的最佳选择。

类别数量将限制为税种类型的组合。服务就像可定制的产品,预计大约3000+。每项服务都有一个TaxCategory成员。

某些服务可能属于特定的税种,但仍有额外的税/补贴。

亲切的问候,

1 个答案:

答案 0 :(得分:1)

由于我们在这里讨论访问者/可访问的设计模式,我想说Visitable / accept接口确实应该在TaxCategory上。访问者模式的想法是让访问者进入可访问,执行一些操作,并获取一些结果。

这听起来像是对每个TaxCategory需要做什么的完美描述。进入,在该税的上下文中执行必要的计算,并获得所需的值。

希望这是有道理的。