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