LoginSignup
0
1

More than 5 years have passed since last update.

pattern > Singletonパターンの乱用は避けよう

Last updated at Posted at 2015-08-17

引用: ゲームプログラマのためのコーディング技術 by 大圖衛玄(Moriharu Ohzu)さん

Singletonクラスと結合しているクラスは、デメテルの法則にも違反します。クラスの独立性がなくなるため、単体テストも難しくなります。
マルチスレッドのプログラムで使用する場合には、グローバル変数へのアクセスと同様の問題が起こります。副作用をともなうメンバ関数には、mutexクラスなどを利用した排他制御が必要です。
どこからでもアクセスできるクラスというと一見便利そうですが、グローバル変数と同様のデメリットがあることを認識した上で使用してください。



デメテルの法則

単純化して説明すると、オブジェクトの"メンバーのプロパティ/メソッド"を直接触らないようにするということ。

デメテルの法則

簡単に言えば「戻り値として返されたオブジェクトのメソッドを呼び出してはいけない」という法則であり、


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1