私は Windsor で構築されたアプリケーションを持っています。このアプリケーションには機能があり、すべてのコンポーネントは構成も含む xml 内に手動で登録されています。これは例です:
<component type="type">
<parameters>
[...]
</parameters>
</component>
コンポーネントをリファクタリングし、機能ごとに 1 つのインストーラーであるウィンザー インストーラーに分割することにしました。私の問題は、各インストーラー内に登録されたコンポーネントの構成をどこに置くかを決定することです。
この決定を行う前は、ユーザーはほとんどが xml の parameters 要素内で適切なコンポーネントの構成を見つけることができ、それを機能させるためにワイヤ ロジックを記述する必要はありませんでした。
私はもうそのような自動化を持っていないように見えるので、今は少し混乱しています. アプリケーションのインストーラーを xml で宣言することにしたので、この構成を次のように installr 要素内に配置できれば完璧だと思います。
<installers>
<install assembly="myassembly">
<parameters>
[...]
<parameters>
</install>
</installers>
Windsor がこの構文をサポートしているかどうかはわかりません。もしそうなら、インストーラー内からどのようにアクセスできるのか、コンポーネントやサービスに接続する方法が気になります。
別の受け入れ可能な代替手段は、私の機能のすべての構成を含むコンポーネントを作成して xml に登録することです。
<components>
<component type="featureConfiguration">
<parameters>
</parameters>
</component>
</components>
この場合、コンストラクターで引数としてそのような型を受け取るようにコンポーネントをリファクタリングする必要があると思いますが、直接プロパティを取得する前、つまり、コードを見てコンポーネントの依存関係が何であるかを正確に知る前に、この新しいフォームを使用して、構成全体を渡しますが、このコンポーネントまたはそのコンポーネントで使用されている構成の特定のプロパティがわかりません。
この 2 番目の解決策を使用し、この混乱を避けるには、構成全体をサブコンポーネントに渡すことを避け、その単一のプロパティで機能させる必要がありますが、この構成コンポーネントのプロパティと構成コンポーネントのプロパティの間の接着剤を見つける必要があります。インストーラーのコンポーネントとサービス。
コンポーネントではなく、xml のプロパティ要素内にすべての構成を配置することもできると思います。
<properties>
<featureConfiguration>
[property list]
</featureConfiguration>
</properties>
しかし、ここでも、リスト内の個々のプロパティとコンポーネントのプロパティとの間の接着剤を見つける必要があります。
どんな助けでも大歓迎です。
ありがとうございました。