「増補改訂版Java言語で学ぶデザインパターン入門」の「Singletonパターン」をC#で書いてみました。
GitHubにもコードを置いています。
参考
DesignPattern【Singleton】GitHub
コード
public class Singleton
{
private static Singleton singleton = new Singleton();
private Singleton()
{
Console.WriteLine("インスタンスを生成しました。");
}
public static Singleton GetSingleton()
{
return singleton;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start.");
var obj1 = Singleton.GetSingleton();
var obj2 = Singleton.GetSingleton();
if (obj1 == obj2)
{
Console.WriteLine("obj1とobj2は同じインスタンスです。");
}
else
{
Console.WriteLine("obj1とobj2は同じインスタンスではありません。");
}
Console.WriteLine("End.");
}
}
実行結果は以下のようになります。
Start.
インスタンスを生成しました。
obj1とobj2は同じインスタンスです。
End.
その他のデザインパターンは以下の記事から確認してください。