Мне надо регистрировать типы (использую Autofac). Стоит ли нагружать класс App в WPF непосредственно регистрацией типов внутри метода OnSturtup (объявлять IContainer, ContainerBuilder итд) или стоит сделать отдельные классы которые будут только регистрировать типы, а затем уже вызывать методы регистрации внутри OnSturtup?
Сейчас надо регистрировать 3 типа, однако это только начало.
По идее класс App нужен для определения общих ресурсов для приложения и поэтому можно регистрировать прямо сразу в классе, но тогда класс App будет засорен существованием IContainer и прочих сущностей. Не лучше ли вынести это в отдельные классы? А может стоит регистрировать типы вообще где-то в другом месте?
Правда не знаю в каком. Помогите определиться с тем "как правильно"
OnStartup(). Когда вы доберетесь хотя-бы до 100 типов, вы точно будете знать, надо уносить код или нет. Отрефакторить Composition Root в отдельный класс - дело нескольких секунд, независимо от размера кода. – aepot Dec 15 '21 at 09:11ServiceContainerExtensionsс методами расширениями видаAddFeature(this IServiceCollection...), где и происходит регистрация нужного функционала. И вOnStartup()подключать это какservices.AddFeature1(); services.AddFeature2(). И даже в основном ехе такой же класс делать. Читабельно, структурировано, расширяемо. – vitidev Dec 15 '21 at 13:45internal. Ну а передача контейнера какthisделает список подключения чище.services.AddFeature1();, а неExtModuleRegistration.AddFeature1(container)– vitidev Dec 15 '21 at 13:57OnStarupи дальше в нужное место – vitidev Dec 15 '21 at 14:08