問題タブ [constructor-injection]

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.

0 投票する
7 に答える
95669 参照

c# - UnityのResolve()メソッドにコンストラクターパラメーターを渡すことはできますか?

依存性注入にMicrosoftのUnityを使用していますが、次のようなことをしたいと思います。

RepositoryAどちらにもパラメーターRepositoryBを受け取るコンストラクターがあり、IDataContextUnityに渡したコンテキストでリポジトリーを初期化してもらいたいです。IDataContextまた、Unityに登録されていないことに注意してください(3つのインスタンスは必要ありませんIDataContext)。

0 投票する
6 に答える
408 参照

java - コンストラクター注入、テスト容易性のための設計

私はこのコードを持っていますが(おそらくSwingコードであることは無視できます)、通常、コンストラクターの引数が多すぎます。モデルBeanクラスを使用してから、そのオブジェクトをコンストラクターに渡す必要がありますか?

このコードでは、このクラスで使用されるオブジェクトをさらに追加することを検討しています。引数を追加し続けて、コンストラクターに渡しますか?おそらく設定インジェクションを使用しますか?

しかし、ミスコによれば、これはコードの臭いでもあります。

http://misko.hevery.com/code-reviewers-guide/

「オブジェクトは渡されますが、直接使用されることはありません(他のオブジェクトへのアクセスを取得するためにのみ使用されます)」

0 投票する
3 に答える
35113 参照

c# - C#/Unity でのコンストラクター インジェクション?

Microsoft の Unity フレームワークで C# を使用しています。この問題を解決する方法がよくわかりません。おそらく、Unity での DI を理解していないことが関係していると思われます。

私の問題は、次のコード例を使用して要約できます。

バスで解決メソッドを呼び出すと、「ティミー」という名前の人「息子」が注入されたことをどのように確認できますか?また、トレインを解決するときに、「ジョー」という名前の人「お父さん」が解決されたことをどのように確認できますか?

名前付きインスタンスを使用するのではないかと考えていますか?しかし、私は途方に暮れています。どんな助けでも大歓迎です。

余談ですが、私はむしろ IPerson インターフェイスを作成したくありません。

0 投票する
3 に答える
465 参照

java - テスト可能なJavaコード:コンストラクターでモデルBeanを使用する

テスト容易性ブログを持っているMiskoHeveryによると。開発者は、「ホルダー」、「コンテキスト」、および「キッチンシンク」オブジェクトを避ける必要があります(これらは他のあらゆる種類のオブジェクトを取得し、共同作業者のバッグです)。そのオブジェクトのホルダーではなく、パラメーターとして必要な特定のオブジェクトを渡します。

ブローの例では、このコードは臭いですか?必要なパラメーターのみを渡すか、必要なデータを含むモデル/Beanを渡す必要があります。

たとえば、次のようなことをしますか?注。おそらく、コンストラクター引数としてデータを渡すことができたはずです。これはコードの臭いですか?

別の質問:テスト可能なコードを書くことで、あなたはあまりにも多くのクラスを書く傾向がありますか?クラスが多すぎるのか、メソッドが多すぎる1つのクラスがあるのは間違っていますか。クラスは便利で、単一の目的があります。しかし、どこでそれらを1つの大きなクラスにリファクタリングできるかはわかりました...しかし、そのクラスには複数の目的があります。

0 投票する
4 に答える
6592 参照

c# - 複数のリポジトリでの依存性注入

私はwcfサービスを持っており、クライアントには次のものがあります:

実際のサービス コードは次のとおりです。

したがって、これはすべて正常に機能しますが、すべてのリポジトリを同時に更新する方法は好きではありませUserRepositoryBusinessRepository。このコードに何かを渡す方法はありますか:
var service = new ServiceReference1.CACSServiceClient()
サービスを呼び出しているコードに基づいてどのリポジトリを新しくするか、またはエンティティ フレームワークのリポジトリを設計するときに必要なその他のアドバイスを伝える方法があります。ありがとう

0 投票する
2 に答える
1983 参照

java - Spring:コンストラクターを介して静的メンバー(System.in)を注入します

単純なアプリケーション用に、ある種のコンソールクライアントを作成しました。より柔軟にするために、直接java.io.Input-/OutputStreamアクセスするのではなく、にのみ依存する方がよいと思いました。System.in/out

クラスの名前をに変更ConsoleClientStreamClient、セッターを追加して、の代わりにインスタンスフィールドが使用されるようにしSystem.in/outました。

現時点では、私のクライアントコードは次のようになっています。

質問:

3行目と4行目をSpring構成に移動する方法はありますか(できればコンストラクターインジェクション)?

御時間ありがとうございます。

0 投票する
2 に答える
204 参照

.net - 依存関係が注入されたクラスのオブジェクトをインスタンス化する方法は?

依存関係が注入されたクラスがあるとしましょう:

私の質問は、そのクラスのオブジェクトをどのようにインスタンス化するのですか? AppLogger と呼ばれるこれの実装があるとしましょう。私が言った後

SomeBusinessCaller のコンストラクターを呼び出すにはどうすればよいですか? 私は呼んでいますか

またはそのための別の戦略がありますか?

0 投票する
8 に答える
19657 参照

java - SLF4JロガーのSpringコンストラクターインジェクション-インジェクションターゲットクラスを取得する方法は?

Springを使用してSLF4Jロガーを次のようなクラスに注入しようとしています。

FactoryBean実装したクラスを見つけました。しかし、問題は、注入ターゲットに関する情報を取得できないことです。

FactoryBeanは正しい方法でさえありますか?ピココンテナのファクトリインジェクションを使用するTypeと、ターゲットのが渡されます。推測では、少し注意が必要です。しかし、春にこれをどのように達成しますか?

0 投票する
3 に答える
5630 参照

java - JAXBコンストラクターインジェクション

JAXBコンパイラにXMLスキーマの特定の要素をJavaクラス定義でfinalとして宣言させる方法を知りたいです。また、コンストラクターが欲しいのと同じように、さまざまなコンストラクターを制御できるようにしたいと思います。クラスに含まれるパラメーターの完全なリストと、JAXBに必要なデフォルトのプライベートコンストラクターを使用してオブジェクトを作成できます。

何か助けはありますか?

ありがとう。

これが私がやろうとしていることの例です:

これで、生成されたコードは次のようになります。

しかし、次のようにスキーマを編集したいと思います。

これは達成できますか?