1

他のクラスがメソッドで使用するクラスがあります。リクエスト中にすべてのメソッドにクラスのインスタンスを1つだけ与えたい。

update:リクエスト中に言うこと:ユーザーがサーバーにWebページのロードをリクエストすると(beginRequest)、いくつかのイベントとメソッドが呼び出されて発生します。それらの多くは、データベースにデータを保存するために私のクラスを必要とします。メソッドまたはページでクラスをインスタンス化し、データベースに対して複数のトランザクションを実行する代わりに、すべてのメソッドでそれらのデータをバッファリングする1つのインスタンスのみを使用し、リクエストの最後にすべてのデータをデータベースに1回挿入する必要があります。そしてこれらは次のリクエストで繰り返されます

4

2 に答える 2

3

リクエストごとのコレクションを使用して、リクエストごとのシングルトーンを作成できます。

http://www.4guysfromrolla.com/articles/060904-1.aspx

于 2012-10-03T07:01:27.810 に答える
2

シングルトンパターンを使用する

P&Pから

状況によっては、特定のタイプのデータをアプリケーション内の他のすべてのオブジェクトで使用できるようにする必要があります。ほとんどの場合、このタイプのデータはシステム内でも一意です。たとえば、ユーザーインターフェイスには、すべてのアプリケーションがアクセスする必要のあるマウスポインターを1つだけ含めることができます。同様に、エンタープライズソリューションは、特定のレガシーシステムへの接続を管理する単一ゲートウェイオブジェクトとインターフェイスする場合があります。

オブジェクトのインスタンスをグローバルに利用可能にし、クラスのインスタンスが1つだけ作成されることを保証するにはどうすればよいですか?

public class Singleton
{
   private static Singleton instance;

   private Singleton() {}

   public static Singleton Instance
   {
      get 
      {
         if (instance == null)
         {
            instance = new Singleton();
         }
         return instance;
      }
   }
}
于 2012-10-03T07:01:46.693 に答える