問題タブ [ioc-container]
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# - Ninject 2.0コンストラクタパラメータ - デフォルトコンストラクタも存在する場合の設定方法は?
私は IOC コンテナーを初めて使用し、Ninject を学習しています。Github から新たにダウンロードしたバージョン 2.0 を使用しています。
デフォルトのコンストラクターも存在する場合、コンストラクターに文字列パラメーターを設定しようとしています。私は Ninject のソースを調べてきましたが、不足しているものを簡単に特定するために使用されているパターンについて十分に理解していません。
これが私のテストコンソールアプリです:
このコードはコンソールに "間違ったメッセージ :(" を出力します。TestClass のデフォルト コンストラクターを削除すると、"Hello World!" が表示されます。何が欠けているのでしょうか?
明確にするために、クラスに「Hello World!」を出力させたいと考えています。デフォルトのコンストラクターが存在するコンソールに。
java - Spring コンテナーで定義された Bean を変更する方法
springframework (バージョン 2.5.x) の Bean を定義する 2 つの xml ファイルがあります。
... と
sourceCodeLocations
今私は Beancodebase
内のプロパティを調整したいと思いますcontainerSpecial.xml
。2 番目の値を追加する必要がありますsrc/generated/productive
。
簡単な方法codebase
は、 inの定義をオーバーライドして、元の値と新しいcontainerSpecial.xml
値の両方の値を追加することです。containerBase.xml
Bean を再定義せずにリストを拡張する方法はありますか?
編集 2009-10-06:
containerBase
これの目的は、多くの異なるプロジェクトで使用される共有標準コンテナーを持つことです。各プロジェクトは、そのプロジェクトに固有のいくつかのプロパティを独自の でオーバーライド/拡張できますcontainerSpecial
。プロジェクトがオーバーライドされない場合は、 で定義されたデフォルトが使用されcontainerBase
ます。
interface - 抽象クラスは、インターフェイスのように StructureMap で機能しますか?
私は StructureMap の大ファンで、ほぼすべての作業で使用しています。ただし、インターフェイスでのみ使用したことがあります。抽象クラスを使用した経験のある人がいるかどうか疑問に思っていましたか? それとも...そのタイプの配線をサポートしていませんか? これを機能させた場合、例を投稿できますか?
ありがとう!
.net - Castle Windsor v2 にアップグレードする必要がありますか?
Castle Windsor Container は、今年 5 月にリリースされたバージョン 2 にアップグレードするための評価を行っています。この時までに、コミュニティは新しいリリースについていくつかの経験を積んでいると思います...
私の主な懸念事項は次のとおりです。
- v.2 にアップグレードする価値はありますか? (主要な重要な新機能やバグ修正はありますか?)
- 移行はスムーズですか?それとも、いくつかの落とし穴や下位互換性がないものはありますか?
- パフォーマンスの向上はありますか?
乾杯、ジェイコブ
asp.net-mvc - ASP.NET MVC の IModelBinder または IOC?
Scott Hanselman は、"<a href="http://www.hanselman.com/blog/IPrincipalUserModelBinderInASPNETMVCForEasierTesting.aspx" rel="nofollow noreferrer">ASP の IPrincipal (User) ModelBinder. NET MVC を使用すると、テストが簡単になります」と彼は、このかなり防御的なコメントをしなければならないと感じました。
はい、これにも IoC コンテナーを使用できることがわかりました。
彼は、IModelBinderの代わりにIOC を使用できたということですか、それとも、 IModelBinderをIOC と共に使用する必要があると言っているのですか? 汎用プログラミング言語を使用して非常に多くのことができることを理解した上で (今は防御的になっています)、現実のシナリオでは実際に何が行われているのでしょうか? たとえば、KiGGのようなプロジェクトは、IModelBinder をまったく使用していないようです。
dependency-injection - 実行時に指定されたオープンジェネリックとタイプのAutofac
ドキュメントには、Autofacがオープンジェネリックをサポートしていると記載されており、次のような基本的なケースで登録して解決することができます。
登録:
解決:
上記のコードは問題なく機能します。ただし、実行時までIFlattenerに提供されるタイプがわからないと仮定して、次のようなことを行います。
AutoFacでこれは可能ですか?StructureMapを使用して、次のアイデアからアイデアを得ました。
http://structuremap.sourceforge.net/Generics.htm
私はこの記事で概説されているのと同じ目標を達成しようとしています。
c# - Unity と WCF ライブラリ: wcf ライブラリで Unity をロードする場所は?
誰でも助けることができますか?
(アプリケーションではなく) WCF ライブラリを作成しました。これを SVC IIS ページでホストします。
しかし、ユニティのものを一般的な場所にロードしたかったのです... global.asaxにロードできましたが、IIS Asp.netコンテナに関連付けられており、TDDを実行すると、この部分は実行されないため、私の解決ではありません動作します。
WCF ライブラリは純粋なクラスなので、OnStartup などのイベントを使用できるとは思えませんか?
私が考えた唯一の方法は、サービスが基本クラスから継承するものと、ある種の静的クラスを呼び出してユニティのブートストラップを行うインターフェイス..
私は少し迷っています。これが唯一の方法ですか、それとも私が知らない方法があります。
基本的なアイデアは...誰がwcfライブラリを呼び出すか、ユニティインジェクションを行う必要がある..
何か案は?
ありがとう
.net - よく構造化された ASP.NET MVC マルチサイト コードベースを作成するにはどうすればよいですか?
私が取り組んでいるプロジェクトには、あいまいに定義された究極の要件があります。「サイトは、他のクライアントに対して「スキン可能」であるべきです。
ご存知のように、ほとんどの場合、UI、ロジック、およびモデルの変更を行う必要があります。
別のクライアントをサイトに追加するには作業が必要であり、新しいスキンを作成するほど簡単ではないことを説明しました. また、未知で未定義のものを設計することは不可能であることも説明しました。
とはいえ、複雑になりすぎずに再利用できるようなデザインを考えたいと思います。
できるだけ多くのコントローラーとビューを共有できるようにしたいと考えています。
ユーザーがサイトにアクセスするために使用している URL に基づいて、別の一連のルート (別のコントローラーを指す) をロードしようと考えていました (これは可能ですか?)。私の考えでは、一連の基本コントローラーを定義し、サブサイトごとに継承できると考えていました。
私がやろうとしていることを行うためのより良い方法はありますか?
これは IoC コンテナーで実行できますか? そのようなアプローチに利点はありますか?
単一の MVC コードベースを共有し、異なるサイト間で大部分を再利用する必要がある状況を他の人はどのように処理していますか?
アドバイスやご意見をお寄せいただきありがとうございます。
ioc-container - IoC: コンテナーで初期化されたコンポーネントの前提条件ではなく、既存のランタイム オブジェクト
私の場合、Castle Windsor を IoC コンテナーとして使用しています。
IoC コンテナーがコンポーネントを作成するときにオブジェクトを作成するのではなく、実行時にコンストラクター引数の 1 つが既存のオブジェクトに設定されるコンポーネントを宣言したいと思います。たとえば、アプリケーションのメイン フォームのインスタンスです。
私は2つのアプローチがあると思います:
- 最初にコンテナーを介してオブジェクトを作成し、必要なランタイム値で構成して、後でコンポーネントが Windsor に要求したときにすぐに使用できるようにします。
- コンポーネントが値を注入する必要がある場合
IFormProvider
と 具体的なを作成し、その後フォーム インスタンス (つまり) を要求します。FormProvider
IFormProvider
formProvider.Form
これについて何か前進はありますか?
xml - なぜxmlはIOCコンテナーでそれほど目立つように機能するのですか?
IOCコンテナーに入ろうとしていますが、多くのコンテナーがxml構成を使用していることに気付きました。多くの新しいテクノロジーがxml構成/プログラミングモデル(WCF、WPF、Spring.NET、Unity、Windsor)に移行している理由について誰かに教えてもらえますか?xmlは複雑な設定を指定するのに不適切な選択であるように思われ、タイプセーフでインテリセンスがあるコードで行う方がよいでしょう。一部の人がこれを議論の余地があると思うかもしれないことを私は知っていますが、他の点では非常にクールで高度なテクノロジーがxmlに依存している理由について本当に興味があります。