Где в этом случае должен быть определен метод Accept шаблона посетителя? - PullRequest
2 голосов
/ 30 мая 2009

У нас есть услуги, которые являются только Обучающими Cess, Налогооблагаемыми, Не облагаемыми. Кроме того, налоги могут быть следующих типов: Fringe, Sales, Acise, Octroi, Education Cess, субсидии, другие местные налоги.
Мы планируем осуществить расчет налогов с помощью посетителя. Что будет лучшим выбором для класса / интерфейса Visitable, Service или TaxCategory.

Количество категорий будет ограничено комбинацией видов налогов. Услуги подобны настраиваемым продуктам, и ожидается, что их будет около 3000+. Каждый сервис будет иметь члена TaxCategory.

Могут быть определенные услуги, которые могут подпадать под данную категорию налога, но все же иметь дополнительные налоги / субсидии.

С уважением,

1 Ответ

1 голос
/ 30 мая 2009

Поскольку здесь мы говорим о шаблоне дизайна Visitor / Visitable, я бы сказал, что интерфейс Visitable / accept действительно должен быть в TaxCategory. Идея шаблона посетителя состоит в том, чтобы заставить посетителя перейти в посещаемый объект, выполнить некоторые операции и получить некоторый результат.

Звучит как идеальное описание того, что вам нужно делать с каждой категорией налогов. Войдите, выполните необходимые вычисления в контексте этого налога и верните нужное вам значение.

Надеюсь, что это имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...