как правильно выбрать действие для реализации логики бизнеса - PullRequest
0 голосов
/ 21 марта 2011

Предположим, у меня есть три объекта.

  • Отдел
  • Задание
  • Пользователь

Пользователь может опубликовать некоторое задание, принадлежащее егоОтделы.Он может принадлежать более чем одному Департаменту.

Отношения трех сущностей таковы:

User---Task----many2many
User-Department --Many2many
Task--Department -- many2one

Я использую Hibernate и устанавливаю все ассоциации как двунаправленные.

Теперь у меня есть некоторые требования:

  1. Список всех задач, принадлежащих указанному пользователю (задачи, опубликованные этим пользователем).
  2. Список всех задач, принадлежащих отделу пользователя (если этот пользователь принадлежит к dep1 и dep2, теперь я должен перечислить все задачи для dep1 и dep2).
  3. перечислить все задачи отдела.
  4. перечислить все задачи всехотделы.

Эти логические коды не сложны, но куда мне поместить эти логики?на UserAction или TaskAction или DepartmentAction?

1 Ответ

1 голос
/ 24 марта 2011

Если вы используете плагин Rest, в целом может иметь смысл иметь DepartmentAction, TaskAction и UserAction, но вам не нужно ограничивать себя всеобъемлющими действиямикак те.

Из вашего описания мне кажется, что все четыре требования - это действительно одно действие, в котором перечислены задачи по различным критериям.Поэтому я бы создал одно действие под названием ListTasksAction.Это действие будет принимать параметры, чтобы указать, какой из четырех критериев ограничить.

Вы также можете создать отдельные действия для четырех требований (возможно, с общим интерфейсом или абстрактным классом).

...