最近我使用 Spring3.1 在事件驱动架构中升级了我的应用程序工作
我想知道你怎么看:
在每个需要在数据库中插入/更新/等记录的类中都有一个 DAO 实例。(常规方式)
我应该向 DAO 发送消息(通过 jms/channels/whatever),消息的内容将是我应该做什么的说明(在数据库中插入/更新/等记录)
2 号在松散耦合方式中的表现如何?
也许是矫枉过正?
欢迎此或任何其他建议或意见。
谢谢。射线。
最近我使用 Spring3.1 在事件驱动架构中升级了我的应用程序工作
我想知道你怎么看:
在每个需要在数据库中插入/更新/等记录的类中都有一个 DAO 实例。(常规方式)
我应该向 DAO 发送消息(通过 jms/channels/whatever),消息的内容将是我应该做什么的说明(在数据库中插入/更新/等记录)
2 号在松散耦合方式中的表现如何?
也许是矫枉过正?
欢迎此或任何其他建议或意见。
谢谢。射线。
松散耦合并不意味着向您的应用程序“添加”更多具体层(消息队列等)。如果“服务”实现类通过接口与 DAO 层交互(想到 Spring DAO bean 注入是一个完美的用例),那么您几乎是在抽象级别进行操作。
如果您随后将具体的 DAO 类注入替换为将消息发布到另一个服务的消息传递客户端,那么您的代码将继续像以前一样运行,而无需进行重大更改。当然,阻塞/非阻塞方法之间总是存在脱节,但没有什么是好的抽象无法解决的。我的建议是研究像 Guice 这样的框架/库来创建应用程序的初始草案/重构,而不是添加新层。如果那时您觉得非阻塞 DB 调用是可行的方法,您可以轻松实现它们。把这个逻辑放在前面只会增加技术债务。