我通过三个步骤调用外部服务:撰写请求,发送请求并接收结果,提取结果。
现在我将使用几种外部服务,构建在不同的应用程序堆栈上(例如SOAP和REST。对于这种情况,一个好的OO设计会是什么样的?
我特别关注的是:我可以拥有RequestBuilders和ResponseParsers的接口,以及一个ServiceCaller,它可以将明显的步骤委托给接口的实现。但这意味着可以有一个ServiceCaller来构建服务A的请求,并期望服务'B格式的响应。
一般来说,这是一个好的OO模式吗?
谢谢!
答案 0 :(得分:3)
您可以查看Factory Method。工厂的Create
方法接受所需对象的类型(Request
的{{1}})并返回ServiceA
接口。实施IRequest
需要所有请求实施。构建此图层后,您可以创建包含相应IRequest
和Request
类型的构建器的服务图层。