SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

マンガで分かるプログラミング用語辞典

「シングルトン・パターン」
~マンガでプログラミング用語解説

マンガで分かるプログラミング用語辞典(253)

  • X ポスト
  • このエントリーをはてなブックマークに追加

解説

 「シングルトン・パターン」(singleton pattern)は、デザイン・パターン(プログラムのよくあるパターンをまとめたもの)の一種です。

 シングルトン・パターンでは、実行時にそのクラスのインスタンスが1つだけになるようにします。シングルトン・パターンで作られたクラスをシングルトンと呼んだりします。

 シングルトン・パターンは利点と欠点があります。

 利点は、オブジェクト指向プログラミング言語で、プログラム全体で使う共通の部品やデータを作れることです。

 たとえばゲームで、シーン遷移中もBGMを鳴らし続けたい時などは、アプリケーション全体で単一のBGM管理オブジェクトがあると便利です。そうした時に、シングルトン・パターンは威力を発揮します。

 欠点は、シングルトンのデータがグローバル変数と同じように、プログラムのどこからも書き換え可能になってしまうことです。この特徴はバグを生み出しやすくなります。

 また、単一のインスタンスから複数のインスタンスへと設計を変更した際に、対応する作業が膨大になる問題もあります。

 さらに、テストをおこないづらいという問題もあります。シングルトン・パターンでは、プログラムの実行中に、ずっと値を保持し続けます。そのため、テストの実行順番によって、シングルトン内の値が変わってしまいます。その結果、テストが複雑化してしまいます。

サンプル

 今回はサンプルはありません。

フィードバックお待ちしております!

 ご感想、解説してほしい用語、解説内容のアドバイスなどございましたら、FacebookX(旧Twitter)などでお気軽に編集部までお寄せください。よろしくお願いいたします。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
マンガで分かるプログラミング用語辞典連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20861 2025/05/06 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング