用于向外部系统发送更新的设计模式



我目前正在重构一个应用程序。这是一份租赁公司的申请。该应用程序通过web服务与外部系统混合。某些状态更改或某些事件需要调用外部系统。我们有两种类型的呼叫:

  • 同步-例如,当我将一个对象添加到租赁应用程序时,该对象的编号取自外部系统(我等待响应)
  • 异步-当我更改应用程序上的数据时,更改也会发送到外部系统(消息存储在我们的自定义队列中,我不需要来自外部系统的响应)

应用程序的设计并没有为不断增长的外部系统(在每个版本中,我们至少添加一个系统)做好准备。我们有一个层(逻辑),它处理所有的业务逻辑,还与外部系统通信(包括构建请求、验证请求、发送消息、验证响应、处理响应)。

我想把通信部分和总线逻辑部分分开。在这种情况下,什么设计模式是好的?我读过设计模式@sourcemaking.com,也读过企业应用程序架构模式目录@Martin Fowler的,但要么我什么都用不上,要么我看不出我可以用它的方法(很可能是后面的:-))。

一路六边形架构!:)-http://alistair.cockburn.us/Hexagonal+体系结构

这是将业务逻辑与应用程序接收和向外部世界发送事件的方式分离开来的好方法。

六边形体系结构模式可能有点太高了,所以我通常建议之前阅读依赖反转原则,以了解模型应该如何公开稍后由适配器实现的接口。

我建议尝试使用中介模式。。。我是从你的参考网址上取的。http://sourcemaking.com/design_patterns/mediator我认为这可以很容易地解决意大利面条代码的问题,因为太多的通信逻辑与业务逻辑混杂在一起。

如果这有帮助,请告诉我:)

最新更新