Использование AOP или аннотаций для расширения функциональности сервиса - PullRequest
1 голос
/ 26 августа 2011

Я хотел бы знать, как лучше всего расширить существующую функциональность (возможно, с помощью AOP или аннотаций).Сценарий, который я ищу:

У нас есть одна служба, скажем, DisableEmployee, которая использует сущность Employee, которая выполняет некоторую проверку и затем отключает доступ к работнику.Для некоторых клиентов я хотел бы расширить эту функциональность, где DisableEmployee не только отключает доступ, но также налагает некоторые штрафные очки.

Один из подходов состоит в том, чтобы расширить базовый класс, а затем добавить дополнительные функциональные возможности.

Возможно (или желательно) использовать здесь АОП и аннотации;где я аннотирую свой DisableEmployee, а затем во время компиляции я добавляю дополнительный код в класс.(используя аспект) Я прочитал о APT и Velocity, которые должны помочь мне в его достижении.Причина, по которой я смотрю на APT, заключается в том, что нам, возможно, придется расширить классы сущностей, чтобы добавить некоторые новые атрибуты.

Идея такого подхода состоит в том, чтобы увидеть, можем ли мы классифицировать расширение службы как форму перекрестногофункциональность резки (например, традиционная регистрация, аудит ....)

Заранее спасибо

1 Ответ

0 голосов
/ 26 августа 2011

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

...