2013-05-03 58 views
-1

我有一個通過節儉設置的客戶端服務器體系結構。該服務是用java編寫的,而客戶端是用php編寫的。現在,由於客戶可能很多,我想介紹一些像獨特的客戶端ID這樣的概念。從客戶端獲取節儉服務的全局變量的最佳方法

當前的結構是這樣的,所有的客戶端都有相同的客戶端代碼。因此,確定客戶端ID的唯一方法是在請求發出時執行此操作。由於該服務有很多暴露的函數(> 50),我不想在所有函數中添加客戶端ID作爲參數(因爲這意味着所有客戶端都會發生更改)。

是否有乾淨的方式來做到這一點 - 當客戶端第一次創建服務對象時,它會發送它的Id,它將成爲服務線程的全局對象。對於隨後對所公開的函數的調用,客戶端ID因此成爲服務線程的全局對象。請指導。

+0

那麼,你到目前爲止嘗試了什麼,爲什麼它不工作? – 2013-05-03 06:10:37

+0

我試圖爲客戶端編寫一個包裝器,它將客戶端ID作爲服務對象的構造函數中的參數。這意味着如果我在EVERY函數中使clientId成爲一個參數,我只需要在構造函數中詢問clientId,並且客戶端不必在每個函數調用中都發送它。這仍然意味着在每個函數中都引入了新參數,但我想避免這樣做。我基本卡在這裏。 – sneha 2013-05-03 06:36:53

回答

0

鑑於你只是想要全球範圍內的客戶 - 你應該simply global it。如果這不符合oop模式,您可以用registry pattern覆蓋它,儘管它真的只是糖衣。

相關問題