Diary-nagataka-シリコンバレーで働きたい!という夢への日々

外資ITで働くエンジニアが趣味や日々の事など書いてます(技術の話は別ブログ http://wanna-be-geek.seesaa.net/ )

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告
  3. このエントリーを含むはてなブックマーク

共同作業での「保証」の大事さ

プログラミングの話。

ちょっと社員さんとのやり取りでSingletonというのを教えてもらったので、研究室にあったデザインパターンの本でシングルトンの部分だけ読んでみた。

シングルトンというのは、そのクラスのインスタンスが一つしか作られないようにしてある実装の事だそうな。

サンプルコードをそのまま記載すると以下

public class Singleton {
  private static Singleton singleton = new Singleton();
  private Singleton(){
    System.out.println("インスタンスを生成しました");
  }
  public static Singleton getInstance(){
    return singleton;
  }
}

privateなコンストラクタとprivateかつstaticなインスタンス、そしてpublicなゲッタが用意されていますね。

これだと、外部からコンストラクタを呼ばれて新たなインスタンスを作られる事を不可能にできるんですね。

社員さんから教えてもらった時は「ほぇ~なるほど」と思いました。


で、後で本で確認をした時に、その本の説明文が印象に残りました。

インスタンスは一つしか作らないし、作りたくない(システム中に一つしか存在しないものを表現したい時)

「プログラマが注意しているからインスタンスが一個しか生成されない」のではなく
指定したインスタンスが絶対に一個しか存在しない事を保証したい
インスタンスが一個しか存在しない事をプログラム上で表現したい


場合に用いるパターンだと。

プログラマが注意してnewしないようにすれば、コンストラクタをprivateにする必要は無いのだけど、そうではなくて、どうしたってインスタンスは一つしか生成されないという事を保証する。

この大事さ。

スキルも経験もバラバラな大人数で協力して開発を進めて行く上で、こういう「保証」って凄く大事なんだろうなと思った。

弾さんが
「頑張らなきゃいけないシステムなんてクソ。頑張らないでも回るのが本当に良いシステム」
と言っていたのを思い出した。

ここで言うと、「絶対に二回以上newしないようにプログラマが『頑張って』注意する」というのは明らかにクソな運営だと。

こういう工夫一つで、そういう無駄な頑張りを不要にできる。

そんな知恵を見ました。

デザインパターンって面白いカモ!もっと読んでみようかな。

スポンサーサイト
  1. 2009/10/24(土) 01:15:54|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
  5. このエントリーを含むはてなブックマーク
<<時給が | ホーム | 自己>>

コメント

コメントの投稿

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

トラックバック

トラックバックURLはこちら
http://nagataka.blog50.fc2.com/tb.php/380-5767b10e
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。