Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 962 Bytes

singleton.md

File metadata and controls

22 lines (17 loc) · 962 Bytes

Singleton パターン

memo

  • アンチパターン
  • 素人がglobalを使うための 免罪符
  • 「単一であること」は利用の仕方でカバーできるものがほとんど
    • グローバルにする弊害のほうが大きい
  • 単一であると、テストの時困ることがある
  • 状態を持たないなら、グローバル(static)関数で問題ない
  • オブジェクトが唯一である必要性は本当にあるのか?
    • 特に、状態を持たなければ唯一である必要性はない

よくやる例

  • サーバーとの通信部分
  • DBとの接続部分

あとで2つ目のインスタンスを作りたくなって苦労するパターン

GUIプログラミングでは「アプリケーションオブジェクト」が存在するので、 そのオブジェクトのフィールドに持たせるのが良い。 (iOS, Android, Win8共にそういう設計。詳細は調べること)