Я хотел бы создать фреймворк, который использует IoC без какой-либо настройки:
То есть вместо (от http://www.castleproject.org/container/gettingstarted/part1/code.html):
IWindsorContainer container = new WindsorContainer();
container.AddComponent("someinterface", typeof(ISomeInterface));
ISomeInterface component = (ISomeInterface) container[typeof(ISomeInterface)];
component.DoIt();
container.Release(component);
Не нужно вызывать метод container.AddComponent
, так как был бы какой-то начальный шаг, который выполнял некоторую «автоматическую разводку», просматривая в известном каталоге любые библиотеки, содержащие классы, которые реализовали ISomeComponent, и регистрировал их в WindsorContainer .
Я вижу, что это можно было бы сделать с нуля, но в идеале я бы не хотел переписывать этот код, если есть проект с открытым исходным кодом, который уже сделал это!