0

これは直接プログラミングの問題ではなく、設計上の問題です。

私は現在、cdi拡張に取り組んでいます。この拡張機能は、によって構成されたインスタンスを処理します

  1. VM 引数 (-D パラメーター)
  2. クラスパスからのプロパティ ファイル
  3. 実装クラスの注釈
  4. インジェクション ポイントの注釈 (例: @MyAnnotation(value ="text") private Object obj;)

現在、使用可能な複数の構成を優先する方法を決定できません。たとえば、どの引数がどの引数をオーバーライドするか..

(例として)クラスレベルとインジェクションポイントに値を持つ注釈がある場合、どの構成を使用する必要がありますか? 「最小」(インジェクション ポイント) の注釈が常に勝つか、それとも「最大」(vm 引数) の注釈が優先されますか?

これはフレームワークに成長するはずなので、これを正しくしたいと思います。

「最小のものが常に勝つ」アプローチの場合、クラスまたはメンバーレベルの注釈がクラスパスのプロパティファイルの構成をオーバーライドするため、フレームワークユーザーが混乱するユースケースを予測できました。ちょっと同じ絵(反転しただけ)が他のアプローチで描かれています..

したがって、これはフレームワークのユーザーが学ばなければならないルールになります。どちらのアプローチがより直感的ですか?

ただのブレインストーミング ;)

ドイツからのご挨拶

4

1 に答える 1

2

DeltaSpike および CDI 1.1 (おそらく Java EE 7 ではより一般的) では、最小数が優先されます。少なくともその観点からは一貫性があります。

于 2012-12-08T07:01:11.777 に答える