問題タブ [instantiation]
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.
c# - 複数のインスタンス化のコスト
今日プロジェクトで作業しているときに、次のコードに出くわしました。
私の最初の考えは次のとおりでした: 一体なぜ、これほど多くの新しい LiteralControls を作成する代わりに、1 行または 2 行でこれを行わなかったのでしょうか。私の質問は、これはずさんでメモリの無駄遣いであり、LiteralControl の 1 つまたは 2 つのインスタンス化に統合されるべきでしたか、それとも大したことではありませんか?
java - 一部のクラスが直接インスタンス化を制限するのはなぜですか?
インスタンスを直接作成できないさまざまなクラスに遭遇しました。むしろ、他のクラスの静的メソッドまたは独自の静的メソッドからインスタンスを作成する必要があります。例えば:
また
その背後にある理由は何ですか?
次のように、インスタンスを直接作成できないのはなぜですか。
flash - ActionScript を使用して FlashBuilder4 mxml クラス インスタンスを作成しますか?
MXML を使用して定義された多数の GUI ダイアログがあります。これらの mxml オブジェクトがアプリケーションにコンパイルされていると仮定すると、ActionScript を使用してこれらのオブジェクトをインスタンス化する方法はありますか?
c++ - C++ テンプレートの特定のインスタンスを強制的にインスタンス化するにはどうすればよいですか?
タイトル参照。テンプレートがあります。テンプレートの特定のインスタンスを強制的にインスタンス化したい。どうすればいいですか?
より具体的には、抽象テンプレート クラスを強制的にインスタンス化できますか?
同じ質問があるので詳しく説明します。私の場合、ライブラリを構築しています。テンプレートの実装の一部は大きく、多くのものを含んでいますが、いくつかのタイプに対してのみ生成されます。それらをライブラリでコンパイルし、すべてのメソッドをエクスポートしたいのですが、どこにでもコードを含むヘッダーを含めたくありません。
すなわち:
もちろん、ライブラリ内のすべてのメソッドを参照してコンパイルとエクスポートを強制することもできますが、項目の引数の書式設定やそれらを呼び出すコードなどの不要なコードをライブラリに追加することは望ましくありません。
??????? 具体的には、いくつかのバージョンの MSC と GCC および Intel コンパイラ用のライブラリを構築しています。
java - 最初のインスタンス化後にJFrameが機能しませんか?
より大きなアプリケーションの一部として、ユーザー定義の設定を収集して保存する設定クラスを作成しています。このクラスはシングルトンであり、アプリケーションの起動時にインスタンス化されます。
ユーザー入力を受け入れるために、2つの異なるGUIフレームが、ConfigSettings.java内から、パブリック静的メソッドselectSettings()からインスタンス化されます。どちらもJFrameのサブクラスです。ファイル選択ダイアログをインスタンス化するためのコードは次のとおりです。
これは、アプリケーションが最初に実行されるときに正常に機能します。ただし、後でユーザーは、新しいソースファイルの選択など、選択した設定を変更できます。これは、selectSettings()を再度呼び出すことによって行われます。
私が抱えている問題は、これらのGUIコンポーネントをインスタンス化して表示しようとすると、新しいJFrameが表示されますが、背景が灰色で、ボタンやその他のコンポーネントが表示されないことです。デバッグ中に、SelectFileGUIの新しいインスタンスを直接作成することもできませんでした。
この種の動作を引き起こしている可能性があるのは何ですか?
c# - C#デリゲートのインスタンス化とメソッド参照の受け渡し
簡単な質問があります。関数参照を渡すだけではなく、C#デリゲートをインスタンス化する利点は何ですか?私が意味するのは:
なぜか:
あなたができるとき:
どちらも私の経験でコンパイルして動作します...私は何かが足りないのですか?
oop - クラス自体またはクラスのコンストラクターで変数を割り当てる方が良いですか?
これは一種の設計上の問題であり、両方の方法で行う人がいると確信しています。しかし、あなたの意見では、クラスまたはコンストラクターで変数を割り当てる方が良いですか? 例(構文や言語に関係なく、これは説明のためのものです):
また
異なる言語と構文の混在は無視してください...どちらが望ましいですか?またその理由は?
php - PHP で依存性注入を使用してコントローラー クラスを作成する
PHP でControllerクラスを作成する際の問題を解決する方法は次のとおりです。
- 依存性注入を採用することで簡単にテストできます。
- 最終プログラマーに共有オブジェクトを提供する
- 新しいユーザー ライブラリをロードする方法を提供する
依存性注入フレームワークを使用したコントローラーのインスタンス化については、下を見てください
問題は、派生コントローラーが、プログラマーが必要とするあらゆるリソース (フレームワークが提供するものなど) を使用できることです。共有リソース (DB、ユーザー、ストレージ、キャッシュ、ヘルパー)、ユーザー定義のクラス、または別のライブラリへの統合アクセスを作成する方法は?
エレガントなソリューション?
私の問題にはいくつかの解決策がありますが、どちらもエレガントではないようです
- コンストラクターによってすべての共有オブジェクトを渡そうとしますか? (10 個のプレースホルダーがあってもコンストラクターを作成する場合があります)
- ゲッター、セッターを作成しますか? (肥大化したコード)
$controller->setApplication($app)
- 共有リソースにシングルトンを適用しますか?
User::getInstance()
またDatabase::getInstance()
- コントローラー内でオブジェクトを共有するためのシングルトンとして依存性注入コンテナーを使用しますか?
- ファクトリとして1 つのグローバル アプリケーション シングルトンを提供しますか? (これはphpフレームワークで非常に使用されているように見えますが、DIの原則とデメテルの法則に強く反しています)
強く結合されたクラスを作成することは推奨されておらず、追放されていることは理解しています:)、しかし、このパラダイムが他のプログラマー(コントローラークラス)の出発点にどのように適用されるかはわかりません。提供された共有リソースにアクセスできる必要がありますMVC アーキテクチャに。コントローラー クラスを小さなクラスに分割すると、MVC の実際的な意味が何らかの形で破壊されると思います。
依存性注入フレームワーク
DI フレームワークは実行可能な選択肢のようです。ただし、問題は引き続き発生します。Controller のようなクラスは Application 層ではなく、RequestHandler/Response 層に存在します。
このレイヤーはコントローラーをどのようにインスタンス化する必要がありますか?
- このレイヤーにDIインジェクターを渡しますか?
- シングルトンとしてのDIフレームワーク?
- このレイヤーのみに分離された DI フレームワーク構成を配置し、別の DI インジェクター インスタンスを作成しますか?
c - Objective-Cランタイムはどのようにしてルートメタクラスと他のクラスの説明をインスタンス化しますか?
基本的なオブジェクト指向のANSICランタイムを実装し、Objective-Cをガイドとして使用しようとしています。
それらは3つの部分のようです。クラスの説明、クラスインターフェイス、およびクラスの実装。クラスインターフェイスをインスタンス化するために、Classオブジェクトを使用してオブジェクトをインスタンス化するおなじみの方法は、ランタイムがクラスの説明を使用してクラスオブジェクトをすでにインスタンス化した場合にのみ発生します。
では、すべてのクラス定義は、Classオブジェクトを使用してインスタンス化する機能を提供するために、最初の実行時に静的に割り当てられますか?または、それらが動的に(最初の呼び出しで)割り当てられる場合、どのように?それは実行ループの一部ですか、それともクラスは実際にメッセージを転送する前にすでに割り当てられているかどうかを判断する関数ですか?
objective-c - Objective-Cの文字列からクラスのオブジェクトをインスタンス化する方法は?
値がインスタンス化する必要のあるClass[MyClass]の名前である文字列があり、MyClassには次のメソッドがあります。
NSClassFromStringというメソッドを使用してMyClassをインスタンス化しています。知りたい
どのように進めればよいですか、Objective-C for iPhoneアプリでやっていますか?