「グローバル変数」は実際には、オブジェクト モデルが弱く、変数が存在する「真の目的」を見つけていないため、単に「情報を保持する」ために作成する変数です。グローバル変数は、ほとんどの場合、より大きなアーキテクチャの変形の兆候です。
それは本当かもしれません。しかし、グローバル変数なしで作成された大きくて優れたプログラムの良い例を私は知りません。スコープは実際のキーです。クラスが 1 つしかないプログラムでは、そのパラメーターはグローバル vars ではないと言えます。しかし、彼らはそうです。
ともかく...
私はまだシングルトンの概念を把握しており、私が知る限り、実際には C# では意味がありません。また、グローバルな状態を避けることができない場合でも、静的プロパティでいっぱいのパブリック クラスを単純に使用することは避けるべきだと感じています。
では、シングルトンでもパブリック クラスでもない場合、C# でグローバル変数を使用するにはどうすればよいでしょうか?
そして、いつそれらを使用することになっていますか?それらは避けられない可能性が高いと仮定します。これまで。
そして、静的クラスの使用を避ける必要があるのはなぜですかstatic
? それが実際にC#の場合です。
一言で言えば: Csharp でグローバル変数を使用する際のベスト プラクティスは何ですか?