我目前正在为我的应用程序编写Http客户端抽象层,因此我可以在应用程序的生命周期中轻松切换Http客户端。问题是,目前所有Http客户端(Apache,Ning,Spray,Ok等)都使用非常不同的实现,这使我的工作非常困难。
现在我的问题是,是否已经预先建立了我可以利用的项目,所以我唯一需要做的就是编写实现?
如果没有,最好的方法是什么?值得一提的是,我的项目完全基于Actor Akka,因此接口不是一种选择。
我不是要求编写代码,只是一个概念,因为我无法完全理解我将如何做这样的事情。
答案 0 :(得分:1)
一种可能的方法如下:
创建自己的http请求和响应消息表示(建模为案例类)。然后将这些激活到一个http请求执行者actor的池中,这些actor包含从您的抽象桥接到您选择的具体impl。这样你就可以换掉http请求执行器中的impl而无需更改任何需要发出http请求的其他actor