C#アンチパターンのひとつで、処理がStaticなメンバーへ依存してはいけないというものがあります。大したことはないのですが。以下のようにstaticな、ある種のグローバル変数があったとします。}}次のように、処理内で利用されていたとします。}}InternalSwitchが別の処理で書き換えられていた場合、呼び出し元は意図しない結果を受け取る可能性があります。したがって、たいていの場合でこのような処理を書くべきではありません。クラスを利用する際に、変数が事前に初期化されていないといけない場合、(呼び出す前に何らかの準備が必要な事が分からない故に)単体テストの実行が妨げられたりするケースもあります。このような場合、以下のいずれかの方針で変数への依存を外部から明示するように変更しstatic変数の依存を排除します。}}ただ、この初期化パラメーターが大量にあれば、オブジェクトの生成処理の記述は結構面倒になります。下位のモジュールではstatic依存を除外し、上位のモジュールではstatic依存を限定的に利用するなどレイヤーによって利用する・しないを分割する方針をとるケースが多いように思います。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。返すという闇のテクニックスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。