2011-10-24 26 views
1

我的項目基於客戶端和服務器通信,其中不同位置可能存在不同版本的服務器。 基於最近的服務器版本號的客戶端使用特定的存根文件與之通信。使用特定於版本的存根

現在,在編寫代碼時,在我使用存根的每個地方,我都要檢查服務器的版本。這看起來效率很低,因爲代碼中有許多地方,我必須檢查存根版本。

約束條件是客戶端周圍只有一臺服務器。一旦客戶端啓動,它將要與之通信的服務器將不會改變。 對於通信,我們使用Jax RPC。

更好的設計的任何建議?

回答

1

可以依賴注入幫助嗎?將特定於每個服務器版本的所有邏輯分離爲單獨的類,並使用諸如Google Guice之類的工具將所有特定服務器版本類組織到它們自己的模塊中(即每個服務器版本一個模塊)。然後,在開始時只需要一次檢查就可以看到要加載哪個模塊。