解説
「シングルトン・パターン」(singleton pattern)は、デザイン・パターン(プログラムのよくあるパターンをまとめたもの)の一種です。
シングルトン・パターンでは、実行時にそのクラスのインスタンスが1つだけになるようにします。シングルトン・パターンで作られたクラスをシングルトンと呼んだりします。
シングルトン・パターンは利点と欠点があります。
利点は、オブジェクト指向プログラミング言語で、プログラム全体で使う共通の部品やデータを作れることです。
たとえばゲームで、シーン遷移中もBGMを鳴らし続けたい時などは、アプリケーション全体で単一のBGM管理オブジェクトがあると便利です。そうした時に、シングルトン・パターンは威力を発揮します。
欠点は、シングルトンのデータがグローバル変数と同じように、プログラムのどこからも書き換え可能になってしまうことです。この特徴はバグを生み出しやすくなります。
また、単一のインスタンスから複数のインスタンスへと設計を変更した際に、対応する作業が膨大になる問題もあります。
さらに、テストをおこないづらいという問題もあります。シングルトン・パターンでは、プログラムの実行中に、ずっと値を保持し続けます。そのため、テストの実行順番によって、シングルトン内の値が変わってしまいます。その結果、テストが複雑化してしまいます。
サンプル
今回はサンプルはありません。
フィードバックお待ちしております!
ご感想、解説してほしい用語、解説内容のアドバイスなどございましたら、FacebookやX(旧Twitter)などでお気軽に編集部までお寄せください。よろしくお願いいたします。