powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DI, наследование и статик
9 сообщений из 9, страница 1 из 1
DI, наследование и статик
    #39897068
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть базовый класс, который использует некий объект, экземпляр которого извлекается из статика на этапе инициализации. Есть наследники, которые не используют этот экземпляр. Однако, принцип DI как бы требует протащить этот экземпляр через конструкторы. В результате наследники получают конструкторы, которые им на ногу не упали, и зависимости, которые они не используют.

Вопрос: следует ли в данном случае идти под конвоем принципов DI, создавая бесполезный код в наследниках, или можно на DI наплевать?
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897072
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
принцип DI как бы требует протащить этот экземпляр через конструкторы.
Это что еще за принцип?
Делай конструкторы в наследниках те, которые тебе нравятся. DI сам разберется.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897074
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и вообще, DI и статик в одном предложении - это сильно подозрительно.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897078
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Antonariy
принцип DI как бы требует протащить этот экземпляр через конструкторы.
Это что еще за принцип?
Делай конструкторы в наследниках те, которые тебе нравятся. DI сам разберется.
Так конструкторы в наследниках вообще не требуются.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897080
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я перестал тебя понимать. Ну нет конструкторов - значит есть по умолчанию. В базовом классе, соответственно, должен быть конструктор без параметров. Либо явно прописать конструктор в наследнике без параметров.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897089
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Я перестал тебя понимать. Ну нет конструкторов - значит есть по умолчанию. В базовом классе, соответственно, должен быть конструктор без параметров. Либо явно прописать конструктор в наследнике без параметров.
А я этого не понял.

Ладно, проехали, я понял, зачем нужно экземпляр по конструкторам тащить.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897091
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Да и вообще, DI и статик в одном предложении - это сильно подозрительно.
Издержки рефакторинга - перепиливаем сильно связанную архитектуру, плохо поддающуюся юнит-тестированию, внедряя DI.
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897096
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy
А я этого не понял.
- Если ты не написал конструктор в классе, значит существует конструктор без параметров (его создаст компилятор)
- Если в базовом классе у тебя нет конструктора без параметров (либо явно прописанного, либо там не должно быть вообще никаких конструкторов (не твой случай)), то в наследнике ты должен явно прописать конструктор с :base на какой либо из базовых конструкторов (при этом конструктор в наследнике может быть без параметров)
...
Рейтинг: 0 / 0
DI, наследование и статик
    #39897102
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, какой в этом смысл в контексте моей задачи, а не в принципе.)

В общем, вопрос снят.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DI, наследование и статик
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]