Unity 3 は、次のような AutoRegistration (Registration by Convention) の新しい機能を提供します。
container.RegisterTypes(
AllClasses.FromLoadedAssemblies(), //uses reflection
WithMappings.FromMatchingInterface, //Matches Interfaces to implementations by name
WithName.Default);
このコードは、同様の名前のインターフェイスを実装するすべての型を、それらのインターフェイスに対して登録します。たとえば、クラス MyService : IMyServiceは、次のように記述した場合と同様に自動的に登録されます。
container.RegisterType<IMyService, MyService >();
私の質問: ほとんどの場合これが必要ですが、同様の名前の実装が存在する場合でも、インターフェイスの 1 つに別の実装を選択したい場合はどうすればよいですか?
これを行う理由を説明する重要な記事は、Jeremy Miller の Convention Over Configuration 記事です。