Design patterns 消息队列服务包装器的设计模式
我想设计一个与消息队列f对话的包装器。包装器的实现应该足够通用,这样库的客户机如果想要从一个MQ提供者(例如RabbitMQ)切换到另一个MQ服务(例如AmazonSQS),就不必进行任何代码更改 您会为库推荐什么设计模式?为什么?您正在寻找设计模式 假设您有两种排队技术:Q1和Q2。它们中的每一个都提供了与之交互的不同方法。类设计如下所示:Design patterns 消息队列服务包装器的设计模式,design-patterns,rabbitmq,zeromq,amazon-sqs,mq,Design Patterns,Rabbitmq,Zeromq,Amazon Sqs,Mq,我想设计一个与消息队列f对话的包装器。包装器的实现应该足够通用,这样库的客户机如果想要从一个MQ提供者(例如RabbitMQ)切换到另一个MQ服务(例如AmazonSQS),就不必进行任何代码更改 您会为库推荐什么设计模式?为什么?您正在寻找设计模式 假设您有两种排队技术:Q1和Q2。它们中的每一个都提供了与之交互的不同方法。类设计如下所示: 使用通用方法创建一个接口,比如说IQueue。例如,getMessage()、postMessage()和deleteMessage() 对于Q1,创建
- 使用通用方法创建一个接口,比如说
。例如,getMessage()、postMessage()和deleteMessage()IQueue
- 对于Q1,创建一个由Q1客户端和扩展
组成的适配器。类似地,对于Q2IQueue
- 将应用程序编码到
IQueue
。然后,从Q1切换到Q2只需要将一个适配器类替换为另一个适配器类
- 使用通用方法创建一个接口,比如说
。例如,getMessage()、postMessage()和deleteMessage()IQueue
- 对于Q1,创建一个由Q1客户端和扩展
组成的适配器。类似地,对于Q2IQueue
- 将应用程序编码到
IQueue
。然后,从Q1切换到Q2只需要将一个适配器类替换为另一个适配器类