javaapi设计建议
我正在为服务器开发一个API(库)(假设一个简单的服务器接收请求并在连接上写回响应)
我有三种不同的框架(第三方库)。所有这些都提供了一种处理请求的方法,但都有自己的方式。设想以下是每个库的接口:
库A
public class AHandler implements AHandler {
public Response handle(Request req){
// ..
}
}
库B
public class BHandler extends SomeHandler {
public BResponse handle(BRequest req){
// ..
}
}
lib C
@Handler
public class BHandler {
@HandlerMethod
public void handle(CRequest req, CResponse res){
// ..
}
}
我想创建一个API,将handle()
方法抽象为某种统一的方式。由于A、B和C是第三方,我没有办法修改它们
事实:
- 用户可以在每台服务器上有一个或多个这样的处理程序李>
- 我不能修改第三方LIB的源代码,我不想控制它们的发布李>
API设计的最佳方式是什么,可以为所有三个LIB提供统一的接口
# 1 楼答案
您可以使用facade和适配器的组合来实现所需的结果