0

我有一个完全实现的 DAO,我所有的 bean 都继承了一个 Entity 对象。现在,我想创建一个客户端通知系统,当用户在持久性存储中创建/更新/删除实体时,通知会自动通过电子邮件发送给客户端。

我有一个 DAO 管理器,它使用工厂模式根据实体类型向我返回一个 DAO 管理器。

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

每个管理器都有一个 create()、remove()、update() 方法....

我的第一个想法是让我的所有实体管理器都继承一个观察者接口,并在函数调用(创建、删除、更新等)之后发送通知。

这是一个明智的想法吗?如果没有,我该怎么做才能向客户发送通知?

我正在运行 JBoss 5 或 Tomcat 6(或两者都用于轻松部署)和 Apache Struts(尽管我不明白我提到它的原因)。

提前致谢。

4

1 回答 1

2

考虑使用装饰器模式,让您的实体经理完全不知道需要通知谁以及如何向他们发送电子邮件。这种方法将改进对现有管理器代码和您打算编写的消息传递代码的维护,并且如果您需要编写新的实体管理器来将您的实体存储在 JCR 中或通过 Web 服务等传输它们,这将获得巨大的回报。

于 2010-01-15T00:21:27.980 回答