だから私はちょうど Play Framework を見始めたところです。例 (http://www.playframework.org/documentation/2.0.4/JavaTodoList) では、すべてが静的であるように見えます。私は、静的は必ずしも良いことではなく、静的が必要な場合はおそらくシングルトンを使用する必要があると信じている人の 1 人です。play フレームワークに精通している人は、これらすべての静的呼び出しとシングルトン パターンに沿ったものとの思考プロセスを教えてください。最初の静的メソッド呼び出しの後に必要なパターンを実装できることは理解していますが、静的メソッドの使用を制限するためにここで何か他のことを行うことができたように思えます。繰り返しますが、今日初めてプレイ フレームワークを見ているので、何かが欠けている可能性があります。お気軽に教えてください。ありがとう。
質問する
941 次
1 に答える
3
Play のアプローチはステートレスにすることですが、非静的メソッドはクラスに状態を導入します。
そこではシングルトン パターンも実際には機能しません。シングルトンでは、クラスのグローバルインスタンスが 1 つだけあります。あなたの定義に応じて、これには4つの可能な結果があります(おそらくそれ以上ですが、私は何も考えられません):
- シングルトン インスタンスがステートフルで、グローバルがアプリケーション全体を意味する場合、同じページの複数の訪問者が同じ状態を共有します (「ああ、見てください、私は今ユーザー X です。それは奇妙です。」)
- シングルトン インスタンスがHTTP リクエストごとにステートフルでグローバルな手段である場合、新しい「シングルトン」を作成し、それを再利用せず、シングルトン パターンを (私の意見では) 役に立たなくします。
- Singleton インスタンスがstatelessである場合、そのインスタンスを生成して、正確に 1 つだけを管理する必要があるのはなぜでしょうか?
4 番目のポイントはステートフルなシングルトンで、グローバルはユーザーごとを意味します。実際、これにより、ユーザー セッションを適切に管理することができます。しかし、それは Play のやり方ではありません。
于 2012-12-03T15:40:58.223 に答える