Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Инъекции при наследовании

07.11.22 13:10
Re: Инъекции при наследовании
 
alex445 коренной житель
Хочу, чтобы в потомковых юзались некие объекты. Можно инъектировать их через конструкторы потомковых классов. Но ведь можно забыть, что в каждом потомковом должна быть такая инъекция.

Несколько раз прочитал, но так и не понял, что именно забыть и как это можно забыть? Можешь пояснить свой пример кодом?

Есть идея, что в каждом потомке надо использовать внешний объект-сервис определённого типа. Новый чел, пришедший делать нового потомка, может об этом не знать и начнёт невдуплять, как сервис инжектировать. Будет в методы его передавать, например. А можно "заставить" его это сделать через обязательный параметр базового конструктора. Тогда ему и в потомковом придётся эту инжекцию провести.


Заставить использовавать что-либо нельзя Даже если ты через 100 потомков протащишь какую-нибудь инекцию ты никогда не сможешь гарантировать, что все потомки используют именно этот объект. Да даже если там всего 1 потомок, ты тоже не можешь этого гарантировать :)

Тогда лучше использовать не "заставить", а "подсказать, как правильно".

 

Перейти на