問題タブ [static-classes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - AS3: 静的クラスとシングルトン
私は仲間が「対」の質問のファンではないことを知っていますが...タイトルを少し言い換えても、対の部分はまだそこにあるので、なぜそれを隠すのですか.
基本的に、シングルトンまたは静的クラスを使用する必要がある場合とその理由、静的クラスができないシングルトンを提供できるもの、およびその逆を知りたいです。
長い間両方を使用してきましたが、どちらか一方を使用してはいけない理由がわかりません。
ありがとう。
php - CakePHP アプリケーション内で静的クラスを使用する
重複の可能性:
クラス コンストラクターでのベンダー クラスのインスタンス化
fancyVendorというサードパーティ ベンダー クラスがあり、これをコントローラー内にロードします。
しかし、他のコントローラーからこのベンダー クラスに到達する必要があります。これを静的クラスとして使用する必要があるようです。ベンダー クラスを静的に使用するにはどうすればよいですか?
java - コンストラクターで public static final 変数を初期化する
Version
ロード時にマニフェストからバージョン番号を読み取り、Version.MAJOR
他の場所で必要な場所などを参照するアプリのクラスを作成しようとしています。しかし、私はそうすることで問題を抱えています。これが私の現在のコードです:
変数が初期化されていない可能性があるためstatic final
(たとえば、間違ったマニフェストがロードされているか、例外がロードされている場合)、これを行うための正しい手順がわかりません。
この質問を読んで、使用しないという洞察が得られましたpublic static final
。public static
ゲッターメソッドを使用する必要がありますか?
wpf - リストボックスのSelectedItemを静的クラスのインスタンスのプロパティにバインドする
テンプレートファイルに次のような単純なリストボックスがあります。
次に、ProcessVisualizationクラスに次のものがあります。
文字列のリストをTestListItemsに割り当てるメソッドを実行すると、それらはリストボックスに正しく表示され、コードからSelectedTestListItemを問題なく設定できます。しかし、ユーザーがリストボックスから選択しようとしても、ProcessVisualizationクラスのプロパティの更新に戻らないようです。誰かが私が間違ったことを知っていますか?
.net - 静的なネストされたクラスの文字列プロパティをJSONにシリアル化する
次のような静的なネストされたクラスのセットが与えられます。
次のような同等のJSON文字列を作成したいと思います。
ネストされた各クラスは、JSONにネストされたオブジェクトになります。各文字列プロパティは、JSONで文字列のキーと値のペアになります。
ルートの静的クラスを反映してJSON文字列を非常に簡単に構築できることは知っていますが(これが現在採用しているアプローチです)、もっと洗練された方法があるのではないかと思いました。たとえば、これがインスタンスの匿名型である場合、非常に簡単にシリアル化できます。
背景:これは、WebAPIコントローラーを介してブラウザーで実行されているシングルページアプリケーションに渡される定数のセットです。C#(サーバー)とJS(クライアント)の両方の世界で同じページ識別子のセットを使用できると、ページオブジェクトパターンを使用するブラウザー自動化テストに非常に役立ちます。
'LocalSiteMap'静的クラスはすでにかなり成熟したプロジェクトに組み込まれているため、代わりにインスタンスクラスまたは匿名型に変更することは私にとって実際のオプションではありません。
c# - 静的クラスコンストラクターと静的クラスフィールドのスコープ
1つのソリューションに2つのコンソールアプリケーション(Console1とConsole2)があります。どちらのアプリケーションもクラスライブラリ(CL)を参照します。CLには、コンストラクターごとに設定されるフィールドを含む静的クラス(SC)が含まれています。
私の質問は、Console1内で静的クラスを呼び出し、最初にConsole1を含む静的メソッドのいずれかを呼び出したときにSCのコンストラクターが呼び出され、フィールドがSC内に設定されているかどうかです。ここで、Console2を同時に実行し、独立して実行し、SCにもアクセスする場合、静的クラスSCの正確なスコープは何ですか?Console1内から発生したコンストラクターの呼び出しなどの変更は、Console2で使用されたときのSCの動作に影響を及ぼしますか?
c# - 依存性注入で使用する静的クラスのリファクタリング
静的メソッドを持つコードでアンマネージ ライブラリを使用する必要があります。ライブラリ操作を依存関係としてコードに導入したいと思います。また、静的メソッドのほかに、ライブラリには初期化メソッドと設定メソッドがあり、どちらもグローバルです。したがって、これをインスタンス クラスにラップすることはできません。1 つのインスタンスが設定を変更すると、他のすべてのインスタンスが影響を受け、1 つのインスタンスが初期化されると、他のすべてのインスタンスが再初期化されるからです。
シングルトンクラスとして導入することを考えました。このようにインスタンス クラスになりますが、インスタンスは 1 つしかないため、設定の変更や初期化について心配する必要はありません。このアプローチについてどう思いますか?私は依存性注入パターンにかなり慣れていないので、シングルトン パターンが適切な解決策であるかどうかわかりません。同様のケースに対するあなたの解決策は何ですか?
編集:初期化にもパラメーターが必要なため、メソッド呼び出しをロックして、呼び出されるたびに設定を再初期化して変更することはできません。
編集 2:いくつかのメソッドのシグネチャは次のとおりです。