2013-10-13 12 views
0

我有一個連接到數據庫的登錄頁面,數據庫只有一個客戶端,當用戶登錄時,他/她可能會對其配置文件進行某些更改並保存。大量的幀的要求當前用戶ID,以操縱他的數據當前用戶數據存儲在多個類的最佳方式

其中存儲當前登錄的用戶的可能途徑是

1)將數據保存到臨時文本文件,並堅持它在用戶登錄之前

2)另一種選擇是在所有幀中使用變量,但我不是太有信心這個

3)第三種方法是必須在一個布爾列數據庫並堅持數據的真實性

也許還有存儲當前用戶ID可能有人闡明其他可能的方法,並強調,參照各實施利弊,這樣做

編輯的「最優」方法更好的方法:這是一個桌面應用程序

+1

您使用的是什麼技術?它是桌面應用程序還是用戶通過網頁登錄?你可以爲此使用'sessions'。 – libik

+0

桌面應用程序 – Ayvadia

+0

你可以考慮一下:[http://docs.oracle.com/javaee/1.4/api/javax/jms/Session.html](session) – libik

回答

2

我建議不要在任何靜態上下文中共享此信息,因爲它會使您的項目變得非常難以測試,一旦它變得足夠大。請參閱此鏈接瞭解更多信息:When to use singletonsWhat is so bad about singletons?

我會做的是將會話對象存儲在某個地圖中,通過將通過客戶端Cookie發送給您的ID標識相應的會話。這就是網絡多年來一直在做的事情,而且它仍然是這樣做的。只需將會話對象傳遞給需要訪問該數據的任何類。

如果您使用的是J2EE實現,那麼你可能已經有了這種執行中會話的支持,你應該檢查出"How to Use Sessions"

這更多的是一種軟件設計問題,以及覆蓋的基礎上完成的模式用於支持我剛剛建議的內容不幸超出了問題的範圍

1

登錄的用戶是類Person或LoggedUser的實例。

您必須實例化它並在意見之間通過模型分享它的參考。

相關問題