Как создать службу уведомлений клиента для веб-приложения или мне следует использовать Шаблон наблюдателя? - PullRequest
0 голосов
/ 15 января 2010

У меня полностью реализован DAO, и все мои bean-компоненты наследуют объект Entity. Теперь я хочу создать систему уведомлений клиента, в которой, когда пользователь создает / обновляет / удаляет объект в / из постоянного хранилища, уведомление автоматически отправляется клиенту по электронной почте.

У меня есть менеджер DAO, который использует шаблон фабрики, чтобы вернуть мне менеджера DAO на основе типа сущности.

e.g EntityManager manager = EntityManagerFactory.createEntityManager(Product.class);

у каждого менеджера есть метод create (), remove (), update () ....

Моя первая идея состоит в том, чтобы все мои менеджеры сущностей наследовали интерфейс Observer, а после вызова функции (создание, удаление, обновление и т. Д.) Отправлялось уведомление.

Это мудрая идея? Если нет, что я могу сделать, чтобы отправить уведомление клиенту?

Я использую JBoss 5 или Tomcat 6 (или оба для простоты развертывания) и Apache Struts (хотя я не вижу причины, по которой я упомянул это).

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

1 Ответ

2 голосов
/ 15 января 2010

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

...