2

IOCコンテナに含まれるべき最も重要な機能は何ですか?15行のコードでコンテナを簡単に作成できますが、プロジェクトで「役立つ」ためには何を含める必要がありますか?

4

2 に答える 2

1

重要度の高い順に:

  1. 少なくともセッターとコンストラクターの注入を許可し、
  2. 構成をコードから分離し、
  3. さまざまなスタイルの構成 (XML または注釈) を許可し、

これらには 15 行以上のコードが必要ですが、私にとってはそれが重要なようです。

于 2008-12-31T03:32:51.040 に答える
1

これはかなり広く開かれたトピックであり、多くの主観に委ねられていますが、私は非常に実用的な観点から答えようとします. 私が取り組んできたプロジェクトと IoC に関する私の経験を考えると、有用性の観点から探すべき重要な点が少なくとも 3 つあります。

  1. 構成- 使用する IoC には、そのコンテナーの動作を構成できる中央の場所が必要です。それが構成ファイルであろうと、どこかのグローバル クラスにラップできる優れた API 呼び出しのセットであろうと、コンテナを簡単に構成できない場合は頭の痛い問題になるでしょう。
  2. ライフタイム管理- さまざまなオブジェクトのライフタイムを許可する機能を持つコンテナーが本当に必要です。特定のオブジェクトが常に新しい IPersonCreator を取得するようにしたい場合がありますが、常に 1 つの IPersonService だけが存在するようにしたい場合があります。
  3. 自動依存性注入- 依存性注入は IoC の上に構築された概念ですが、これを自分で管理する必要はありません。ここでの考え方は、初めて IPersonCreator を要求した場合、すべての依存関係とそれらの依存関係などを自動的に解決する必要があるということです。

全体的に必要なものはプロジェクトによって異なりますが、ニーズにぴったり合うコンテナがいくつかあります。

于 2008-12-31T03:34:28.947 に答える