Здравствуйте, a7d3, Вы писали:
A>>>1) для чего именно было решено использовать DI, с какой целью, ради каких задач. A>·>Там по ссылке расписано. Если чего неясно, задавай вопросы. A>Интересует конкретно твой кейс или множество таковых, DI не может быть самоцелью.
Да причём тут я? Я вообще не рассматривал никакие конкретные кейсы. Я лишь выдвинул тезис, что интерфейсы|абстактные классы к DI никакого отношения не имеют, и чаще всего не нужны.
Если тебя интересуют конкретные кейсы, давай приводи конкретный пример, обсудим.
A>>>2) какой вариант, в контексте п.1, более вменяем, нежели через интерфейсы. A>·>Третий раз отвечаю — всё то же самое, но без интерфесов. Просто инжектить конкретный класс. A>В четвёртый раз DI не самоцель, конкретные цели с задачами «в студию!» и только после этого обсуждать уже аспекты конкретных подходов.
В данном контексте цель была продемонстрировать DI. И тот туториал по ссылке (и подавляющиее число других) это делал коряво, усложнив код введением лишней сущности "интерфейс" — просто так, потому что "так принято", "хороший тон", никакого рационального обоснования там нет, и ты не привёл. Я не понимаю что ты хочешь доказать. Сформулируй свой тезис.
A>Например, такой подход, когда в случае C# инжектирую конкретные классы ты будешь использовать System.Object в неявной форме, забыв что там под капотом в плане интерфейсов и занимаясь приведением типов к тому «контракту», который ожидается в жертве инжекта (клиенте).
Не понял мысль. Можно пример кода?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай