使用特定于版本的存根

时间:2011-10-24 20:09:39

标签: java design-patterns jax-rpc

我的项目基于客户端和服务器通信,其中在不同位置可能存在不同版本的服务器。 客户端,基于最近服务器的版本号,使用特定的存根文件与之通信。

现在,在编写代码时,在我使用存根的每个地方,我都要查看存在哪个版本的服务器。这似乎非常低效,因为代码中有很多地方,我要检查存根版本。

约束条件是客户端周围只有一台服务器。一旦客户端启动,它将要与之通信的服务器将不会改变。 对于通信,我们使用的是Jax RPC。

有关更好设计的任何建议吗?

1 个答案:

答案 0 :(得分:1)

依赖注入可以帮助吗?将特定于每个服务器版本的所有逻辑隔离到单独的类中,并使用诸如Google Guice之类的工具将所有特定服务器版本类组织到它们自己的模块中(即每个服务器版本一个模块)。然后,在开始时只需要进行一次检查以查看要加载的模块。