抽象的なCharcterクラスを使用してシングルトンデザインパターンを使用しようとしているので、すべてのサブクラスがオブジェクトインスタンスにアクセスできます。ここに私のシングルトンクラスは次のとおりです。継承を介してシングルトンパターンを使用するには?
class GatewayAccess
{
private static GatewayAccess ph;
// Constructor is 'protected'
protected GatewayAccess()
{
}
public static GatewayAccess Instance()
{
// Uses lazy initialization.
// Note: this is not thread safe.
if (ph == null)
{
ph = new GatewayAccess();
Console.WriteLine("This is the instance");
}
return ph;
}
}
私はインスタンスには問題を作成しないために私のProgram.csでこれを使用することができます。
static void Main(string[] args)
{
GameEngine multiplayer = new GameEngine(5);
Character Thor = new Warrior();
Thor.Name = "Raymond";
Thor.Display();
Thor.PerformFight();
Thor.PerformFight();
multiplayer.Attach(Thor);
GatewayAccess s1 = GatewayAccess.Instance();
GatewayAccess s2 = GatewayAccess.Instance();
if (s1 == s2)
{
Console.WriteLine("They are the same");
}
Console.WriteLine(Thor.getGamestate());
Console.ReadLine();
}
それでは、私がやりたいことは、サブクラス、すなわち許可され、への戦士はゲートウェイのインスタンスにアクセスすると、継承のものが私を混乱させるため、これを行う方法を理解できません。基本的にゲートウェイアクセスは、一度に1つの接続しか持つことのできないデータベースへのアクセスポイントです。シングルトンのパターンは理解するのが簡単で、そのことと継承のちょうど混合です。私はこれを達成したら、スレッドセーフな方法でそれをやり遂げることができたと思っていました。
また、データベースへの接続であり、一度に1つの文字オブジェクトでしか使用できないため、Singletonインスタンスが削除される可能性があります。シングルトンのオブジェクトが正しく表示されますか?
私はすべてこれを行うには、私の文字クラスのメソッドを使用しようとしましたが、それは動作しません。
私はこれに助けていただきありがとうございます。
ちょうど...しないでください。 [シングルトンはクールではありません](http:// jalf。dk/singleton /) – jalf