2013-02-21 4 views
1

В настоящее время я работаю над приложением, где я могу увидеть следующее:Spring - методы уровня обслуживания родовые против конкретных

  • Контроллер A: service.getSession (USERID, Status.Started);
  • Контроллер B: service.getSession (userId, Status.Done);

(где положение представляет собой перечисление возможных состояний)

  • Услуги: getSession (Long идентификатор, статус состояния);

Я считаю, это не так, как пользователи, которые собираются открыть контроллер А имеют определенные роли и доступа пользователей к B других и там должно быть 2 услуги методы:

  • getSessionReady (Long идентификатор);
  • getSessionClosed (Long id);

Выполнение этой задачи я могу четко использовать весеннюю безопасность и убедиться, что правильная роль доступа к правильным методам обслуживания. Это заставляет меня создавать два метода, но упрощает защиту приложения, а цель уровня сервиса - фактически ограничить доступ к ограничениям логических ошибок?

ответ

0

Да. Чем более общий уровень рабочего уровня (или любого класса), тем меньше значение добавляется.

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

Кроме того, больше методов не так уж и плохо! Пока они имеют смысл, не стесняйтесь. Обычно метод с дополнительным параметром, который запускает различное поведение, является запахом кода и должен быть разделен.

+0

Хорошо, спасибо за ваш ответ, который подтверждает мои мысли. – user1718057

Смежные вопросы