我正在尝试实现请求/响应客户端。这是它的基本实现。
Class Request
{
prepareRequest1();
prepareRequest2();
}
Class Response
{
processResponse1();
processResponse2();
}
Class Client
{
connect();
sendRequest();
}
myrequest = new Request();
client = new Client (myserver);
my $rawResponse1 = client.sendRequest (myrequest.prepareRequest1());
myresponse = new Response();
myresponse.processResponse1 ($rawResponse1);
我有三个类 - 请求,响应和客户端。请求类包含特定于请求的函数。这些请求是XML请求。除了少数初始标记(例如,sessionid等)之外,XML请求没有任何共同之处。所有其他XML参数都特定于请求类型。所以,目前我通过为每个请求创建一个单独的函数来处理它。我知道它存在可扩展性问题,但请向我建议一些我可以在这里应用的其他最佳方法。
与请求类似,对每个请求的响应需要特定的处理。所以我有一个特定的功能,特定于我期望的每种类型的响应。通常,您可以假设请求和响应之间存在1:1映射。
最后是提供连接的Client类。
我有近50个这样的请求和响应,我计划用这种方法实现。在我处于开发的初始阶段时,请建议我实施此类请求/响应的一些改进/最佳实践。
答案 0 :(得分:0)
如果您在代码之外保留请求和响应的映射,那么它是最好的。更易于管理。保留一个xml配置文件,该文件存储与特定类型的xml消息关联的请求和响应的类名。然后,您可以获取类名并转到该类以处理您的请求和响应。最好有单独的类来处理这些消息而不是单独的方法。这更具可扩展性。确保您具有所有请求类的接口,并为响应类提供相同的接口。这样可以通过修改xml配置文件轻松交换请求响应类。
希望你明白了:)