2011-10-24 50 views
1

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

现在,在编写代码时,在我使用存根的每个地方,我都要检查服务器的版本。这看起来效率很低,因为代码中有许多地方,我必须检查存根版本。

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

更好的设计的任何建议?

回答

1

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