こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。
C#のシングルトンとは
C#における「シングルトン」(singleton)とは、動いているアプリの中で1つしかないもののこと言います。
C#でシングルトンを実現する方法として、
- 静的クラスを使う方法
- シングルトンパターンを実装したクラスを作る方法
この2種類があります。
今回はその中でも比較的実装しやすい、「シングルトンパターン」を使って作成したクラスを使う方法についてみていきます。
サンプルコード
早速ですが、サンプルコードをご覧ください。
// Singletonパターン
public sealed class SingletonClass
{
/// <summary>
/// インスタンスの生成
/// </summary>
private static SingletonClass _singleInstance = new SingletonClass();
/// <summary>
/// インスタンスを返す関数
/// </summary>
public static SingletonClass GetInstance()
{
return _singleInstance;
}
/// <summary>
/// コンストラクタ
/// </summary>
private SingletonClass()
{
// 初期化処理
}
}
簡単に説明すると、
まずは、コンストラクタである「SingletonClass」のスコープを「private」に変更します。
その後、6行目のGetInstance()メソッドでインスタンスを取得するようにします。
簡単ですよね!
これで、インスタンスは一つしか作成されません。
こんなに簡単に実現できたんですね!
今までは気を使ってインスタンスが複数できてしまわないようにしてました。
はい。これでその心配もないですね!
使いどころを判断しうまく使ってください♪
まとめ
今回は、プログラミング言語C#における「シングルトン」を使い、インスタンスをひとつだけにして複数のインスタンスが作られてしまい不具合が起きるのを未然に防ぐことができますね!
他にもC#や他のプログラミング言語の記事もあるので、よかったら見ていってくださいね。
https://itthestudy.com/c-%E3%83%A9%E3%83%A0%E3%83%80%E5%BC%8F%E3%81%AF%E3%81%93%E3%82%8C%E3%81%95%E3%81%88%E8%A6%8B%E3%82%8C%E3%81%B0ok%EF%BC%81%E7%B0%A1%E5%8D%98%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC/