Re[19]: О пользе Dependency Injection
От: takTak  
Дата: 19.01.21 10:48
Оценка:
T>>все разговоры в этой теме от банального непонимания, для чего придумали DI / IoC
·>Это верно.
·>А придумали контейнеры для сборки монструозных монолитных enterprise приложений из крупных отдельно поставляемых компонент, плагинной архитектуры, внутри так называемых application servers.

о чём ты вообще? идея юнит-тестирования намного старше веб-серверов...
·>Но это многе не понимают, и даже когда пишут микросервис из 5 классов, втыкают туда контейнер, "ибо надо". Но объяснить для чего — не могут.

T>>ну так вот тебе надо ПРОТЕСТИРОВАТЬ, что схема базы данных, используемая твоим кодом, актуальна, например,

·>А ещё многие не понимают разницу между выделением интерфейсов, IoC, DI, контейнерами.

T>>как ты с твоим этим кодом будешь писать код, который это проверяет?

·>
·>var mainService = new MainService(new InMemoryProvider(), new Configuration(), new IdentityProvider(Thread.Current.Identity), new FileManager() , new EmailSerice(new SmtrAddress(25.145.789), etc.));
·>...
·>testThis(mainService);
·>testThat(mainService);
·>


этот код показывает, что ты ни разу правильно не написал тестового кода с использованием DI, правильно было бы так:


·>
 >Container.Register<InMemoryProvider, IDbProvider> (); // и 5 других зависимостей мне трогать не надо
·>var mainService = Container.Resolve<MainService> ();
·>...
·>testThis(mainService);
·>testThat(mainService);
·>
Отредактировано 19.01.2021 11:10 takTak . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.