「JAVA言語で学ぶデザインパターン入門」をC#で書いてみた【Singletonパターン】

「増補改訂版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.

その他のデザインパターンは以下の記事から確認してください。

「JAVA言語で学ぶデザインパターン入門」をC#で書いてみた【一覧】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA