Size: a a a

Programming Offtop

2020 April 06

(

( in Programming Offtop
Alexander Nozik
Ну тут мне сложно судить. Но, предположим все-таки есть объект-локатор, который передается в конструктор. Чем он хуже, чем инжектирование?
его нельзя (или очень сложно) в компайл-тайме проверить на полноту
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Ну тут мне сложно судить. Но, предположим все-таки есть объект-локатор, который передается в конструктор. Чем он хуже, чем инжектирование?
Ну и создавать фейк локатора непонятно зачем там, где можно прямо насовать в конструктор зависимости.
источник

AN

Alexander Nozik in Programming Offtop
(
его нельзя (или очень сложно) в компайл-тайме проверить на полноту
Резонно. Хотя тут, разумеется, остается вопрос, чем мы платим за эту проверку.
источник

(

( in Programming Offtop
Alexander Nozik
Резонно. Хотя тут, разумеется, остается вопрос, чем мы платим за эту проверку.
например, кодогенерацией
источник

(

( in Programming Offtop
но как бы мы в поффтопе, тут многие топят за инжект руками и я поддерживаю
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну и создавать фейк локатора непонятно зачем там, где можно прямо насовать в конструктор зависимости.
Ну вот тут мне не совсем понятно. Если у нас конструктор человеческий, зачем туда что-то инжектировать и почему бы не оставить это на усмотрение того, кто этот конструктор вызывает
источник

(

( in Programming Offtop
полчаса уже тут с даггером ебусь, если не больше
источник

AN

Alexander Nozik in Programming Offtop
(
но как бы мы в поффтопе, тут многие топят за инжект руками и я поддерживаю
я примерно про то же
источник

AN

Alexander Nozik in Programming Offtop
В принципе, компайл-тайм проверку можно прикрутить и к динамическому локатору. Хотя вероятно проще один раз тест написать
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Ну вот тут мне не совсем понятно. Если у нас конструктор человеческий, зачем туда что-то инжектировать и почему бы не оставить это на усмотрение того, кто этот конструктор вызывает
Так а вы что предлагаете? Я понял, предлагается в конструктор передавать мешок со всем говном локатор, а класс сам из него забирает то, что нужно
источник

(

( in Programming Offtop
такое кстати есть, называется кодеин
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Так а вы что предлагаете? Я понял, предлагается в конструктор передавать мешок со всем говном локатор, а класс сам из него забирает то, что нужно
Ну да. Суть в том, что есть точки, в которых нужен локатор и они управляют зависимостями, и есть простые классы/методы, которые просто используют параметры. Я не понимаю, зачем последним инжекты
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Ну да. Суть в том, что есть точки, в которых нужен локатор и они управляют зависимостями, и есть простые классы/методы, которые просто используют параметры. Я не понимаю, зачем последним инжекты
А, так это ок, так и делается обычно
источник

AM

Andrew Mikhaylov in Programming Offtop
Я думал, речь о протягивании локатора в каждый класс
источник

AN

Alexander Nozik in Programming Offtop
Я просто немного поработал с кодом с инжектами в конструкторах в орхиде (автор из тырпрайзной жавы), там вообще какой-то ад с читаемостью и навигацией по коду
источник

AM

Andrew Mikhaylov in Programming Offtop
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Я думал, речь о протягивании локатора в каждый класс
В каждый, где он нужен реально
источник

AN

Alexander Nozik in Programming Offtop
Вопрос зачем инжектить в конструкторы?
источник

AM

Andrew Mikhaylov in Programming Offtop
Ну так места, где он реально нужен, сводятся к узлам дерева зависимостей (к модулям, компонентам, скоупам, везде по-разному зовётся)
источник

AN

Alexander Nozik in Programming Offtop
Alexander Nozik
В каждый, где он нужен реально
Если у функции полтора параметра, то пусть они и будут
источник