В настоящее время все классы, которые у меня есть, обрабатывают свой собственный импорт. Используя типичный пример:
[ImportMany]
private Lazy<ISomeInterface>[] someOfMyInterfaces { get; set; }
public MyConstructor()
{
AssemblyCatalog catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
CompositionContainer container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
Теперь я хочу использовать сводный каталог, и мне нужно изменить реализацию всех моих классов, которые принимают импорт. Я хочу поместить эту логику в централизованное место. В основном устранение зависимости моих классов от составления собственных частей. Есть ли хорошие модели для этого?