0

データベースに接続するログイン ページがあります。データベースにはクライアントが 1 つしかありません。ユーザーがログオンすると、プロファイルに特定の変更を加えて保存することができます。多数のフレームで、データを操作するために現在のユーザー ID が必要です

現在ログインしているユーザーを保存する可能な方法には、

1) データを一時テキスト ファイルに保存し、ユーザーがログアウトする前にそれを永続化する

2)別のオプションは、すべてのフレームで変数を使用することですが、これについてはあまり自信がありません

3) 3 番目の方法は、データベースにブール列を持ち、フィールドのデータを true で永続化することです。

おそらく、現在のユーザー ID を保存するより良い方法があるかもしれません。誰かが他の可能な方法を解明し、これを行う「最適な」方法を参照して各実装の長所と短所を強調することができます。

編集:これはデスクトップアプリケーションです

4

2 に答える 2

2

この情報を静的なコンテキストで共有しないことをお勧めします。これは、プロジェクトが十分に大きくなると、プロジェクトをテストするのが非常に困難になるためです。詳細については、次のリンクを参照してください: When to use singletons、またはWhat is so bad about singletons?

私がすることは、セッション オブジェクトをいくつかのマップに格納し、クライアント Cookie を介して与えられ、返される ID によって適切なセッションを識別することです。これは、Web が何年にもわたって行ってきた方法であり、今でもこの方法で行っています。必要なときにそのデータへのアクセスが必要なクラスにセッション オブジェクトを渡すだけです。

J2EE 実装を使用している場合は、その実装内で既にセッションをサポートしている可能性があります。「セッションの使用方法」を参照してください。

これはソフトウェア設計の問題であり、私が提案したことをサポートするために使用されるパターンを完成させるための基礎をカバーすることは、残念ながら質問の範囲を超えています

于 2013-10-13T19:12:38.350 に答える
1

ログに記録されたユーザーは、クラス Person または LoggedUser のインスタンスです。

それをインスタンス化し、 Modelを介してView間でその参照を共有する必要があります。

于 2013-10-13T18:45:41.133 に答える