スポンサード リンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサード リンク
-- : -- : -- | スポンサー広告 | page top↑
スポンサード リンク

SingletonパターンのJavaサンプルコード

Singletonパターンは、インスタンスを1つしか作らない(作ってはいけない)クラスに対して適用されるデザインパターンです。

Singletonパターンのクラス図

Singletonパターンを適用したクラスのサンプルコードは一般に以下のようになります。

public class Singleton {
  private static Singleton instance = new Singleton();

  private Singleton() {};
  public static Singleton getInstance() {
    return instance;
}

注目すべきは、コンストラクタの可視性がprivateになっていることです。

それまでのわたしの中での常識では「コンストラクタの可視性は必ずpublic。だって、そうしないとインスタンスが作成できないじゃん!」だったので、これを初めて見たときはとても驚きました。

Singletonパターンはインスタンスの作成を1度きりに制限したい時、つまり、同じクラスのインスタンスが1つしか存在して欲しくないときに用います。しかし、コンストラクタをprivateにしただけではまったくインスタンスを生成することができなくなってしまうため、フィールドに自分自身を保持し、それをメンバのgetInstanceで返すようにしてあります。そして、それらをstaticにすることで、このクラスがロードされたときに一度だけSingletonのインスタンスが生成されます。

このようにすることで、Singletonパターンを適用したクラスは1つだけインスタンスが存在することが保証されるのです。

増補改訂版Java言語で学ぶデザインパターン入門増補改訂版Java言語で学ぶデザインパターン入門
結城 浩

ソフトバンククリエイティブ 2004-06-19
売り上げランキング : 2900
おすすめ平均

Amazonで詳しく見る
by G-Tools

スポンサード リンク

テーマ:プログラミング - ジャンル:コンピュータ - ソーシャルブックマーク: この記事をクリップ! Yahoo!ブックマークに登録

22 : 50 : 48 | プログラミング-Java | トラックバック(0) | コメント(0) | page top↑
<<Emacs初心者が覚えるべきたった12のコマンド | ホーム | ATOK定額制サービス 月額300円>>
コメント

コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://networkprogramming.blog18.fc2.com/tb.php/58-28dfb178
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |

プロフィール

TBVector

Author:TBVector

プロフィール

メールフォーム

記事検索

Google

最近の記事

人気の記事

過去の記事

カテゴリー

タグランキング

リンク

最近のコメント

最近のトラックバック

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。