• ベストアンサー

singletonクラスとは???

ある書籍を読み途中にこの言葉がいきなり出てきて戸惑っています。 Beanに似たようなものではあるという解釈の仕方をしたのですが、いまいち想像がつきません。 ずばり、どのようなクラスに対して、こういう呼び方をするのでしょうか。 具体的な説明を頂けると大変助かります。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

Beanとはあまり関係はありません。 『オブジェクト指向における再利用のためのデザインパターン』 という本の中で紹介されている、 クラスの構造のパターンのひとつです。 Singletonというのは、「プログラムの中にひとつだけ存在するクラス」というパターンです。 たとえば、「各種設定を読み込む」という働きをするクラスは、 プログラムの中にひとつあれば良く、 逆にいくつもあると混乱してしまいますね。 そういうときSingletonのしくみを使って、オブジェクトをひとつだけにします。 通常、コンストラクタをprivateにすることで、オブジェクトの作成を制限します。 class Settei{ private static Settei settei = new Settei();//唯一のオブジェクト。 private Settei(){...}//普通のnewによるオブジェクト生成はできない。 public static Settei getSettei(){//このメソッドを通じてオブジェクトを得る。 return settei; } } こんな感じになります。 簡単には、クラスメソッド(staticメソッド)のみを使うことで実現するときもあります。 デザインパターンには、他にもIteratorとかFacadeとか、 20あまりあり、オブジェクト指向をやるプログラマの 共通言語になりつつあります。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4797311126/
persona
質問者

お礼

なるほど・・・( ̄  ̄;) ウ~ン??? 知識不足の点多々あり、誠に恥ずかしい限りです。 おかげさまで、singletonクラスについての概要は分かったつもりです。 ただ、デザインパターンはまだ許容範囲外なので、頃合を見て勉強したい、と思ってます。 わざわざ本の紹介までして頂いてありがとうございました。

関連するQ&A

専門家に質問してみよう