CompositionRoot とは何かを理解しようとしています。
これまでのところ、それが何であるかについての詳細な説明は見つかりませんでした。何をしてはならないかについての短い声明だけです。
caliburn.micro を活用するときに付属する Bootstrapper は、「CompositionRoot」という意味ですか?
それとも、アセンブリ内にあるものとその依存関係のみを提供できるため、サービスロケーターのアンチパターンに近いですか。
誰かが CompositionRoot の適切な説明を持っている場合は、共有してください。私はすでにploehのブログを知っています。
CompositionRoot がより優れたアーキテクチャにつながる、および/または問題の解決に役立つことがわかった場合でも、その本を購入する意思はあります。しかし、私がそれが何を助けるかを見るのに十分な情報がないことを知っています.
アップデート
すべての ViewModel に EventAggregator が注入される (コンストラクター注入) としましょう。ここで、必要なときにこれらの ViewModel を動的に作成したいと考えています。タイプを事前に (CompositionRoot で) 登録することはできますが、後で依存関係を解決するにはどうすればよいでしょうか? 私が理解している限り、コンテナはコンポジションルートの後に触れるべきではありません。間違いなく、必要になる前にすべてのインスタンスを作成したくありません (アプリケーションの起動が遅くなります)。ここで「登録 - 解決 - 解放」という意味ですか? (そのパターンは ploeh ブログでも作り出されています)