所以我正在编写一个Web服务体系结构,其中包含执行请求实际处理的FunctionProvider
类,以及一个主Endpoint
类,它接收并将请求委托给正确的FunctionProvider
我不确切知道运行时可用的FunctionProvider
,所以我需要能够使用我的主Endpoint
类'注册'(如果这是正确的词),并且查询他们看看他们是否匹配传入的请求。
public class MyFunc implements FunctionProvider{
static {
MyEndpoint.register(MyFunc);
}
public Boolean matchesRequest(Request req){...}
public void processRequest(Request req){...}
}
public class MyEndpoint{
private static ArrayList<FunctionProvider> functions = new ArrayList<FunctionProvider>();
public void register(Class clz){
functions.add(clz);
}
public void doPost(Request request){
//find the FunctionProvider in functions
//matching the request
}
}
我真的没有做过这么多的反思Java(上面的内容很可能是错误的,但希望能说明我的意图)。
实现这个目的最好的方法是什么,而不是惹人讨厌?
答案 0 :(得分:2)