-1

新しい「エンタープライズソリューション」を構築する予定です

そこで、柔軟なアーキテクチャを使いたいので、 「オニオンアーキテクチャ」を使用することにしました。

しかし、私は「依存関係の解決」の懸念に不慣れです。

私が理解しているように、ファクトリの「実装」をこのレイヤーに配置する必要があります。このレイヤーには、他のすべてのレイヤーへの参照があります。

次に、DependencyResolutionレイヤーとUIレイヤーのFactoryImplementationに「DependencyResolutionレイヤー」への参照がない場合に、「UIレイヤー」にIFactoryの新しいインスタンスを作成する方法を知りたいです。


編集::

エリックさんに感謝します

しかし、これらのリンクの多くを見た後、UIプロジェクトでこのようなことを行うことができないため、実装を「インターフェイス」に「登録」したいときにまだ問題があります。

kernel.Bind<ITaxCalculator>()
      .To<TaxCalculator>()
      .WithConstructorArgument("rate", .2M);

TaxCalculatorUIプロジェクトは「実装」にアクセスできないためです。

4

1 に答える 1

5

最善の解決策は、依存関係コンテナー(別名IOCコンテナー)を使用して、.NETを使用している場合はCastleWindsorやUnityなどの参照を解決することだと思います。これらを使用すると、UIレイヤーの実際の実装を参照せずに、依存関係の解決を構成できます。

編集:いくつかのリンク:

于 2011-08-20T15:43:24.840 に答える