Re[5]: При чем тут Di?
От: · Великобритания  
Дата: 11.08.16 13:11
Оценка:
Здравствуйте, IQuerist, Вы писали:

IQ>·>Вот скажем "DI" и "DI IoC-контейнер" это разные вещи. Использовать DI можно (а на прошлой моей работе даже решили что нужно) без контейнера.

IQ>·>И интерфейсы тоже к DI отношения не имеют. Можно использовать DI и без интерфейсов.
IQ>Можно делать всякое... я описал конкретный кейс который имхо наблюдается повсеместно, но почему-то мало критикуется или критикуется не по делу.
Ты описал кейс, но не предложил альтернативу. Как надо-то по-твоему?

IQ>Гиперболизируя можно было бы добавить еще IJsonConverter чтобы механизм конвертирования json можно было изменить

А ты не подумал, что тот же JsonConverter может иметь ещё пять зависимостей, скажем настройки форматирования json и какие-нибудь там сериализаторы кастомных типов?

IQ>и что ни будь вроде IDateTimeProvider, работа с датой и временем вряд ли поменяется, но

А мы так сделали в нашем проекте, ибо да, у нас "текущее время" оказалось вещью необычной.

IQ>на всякий случай стоит "уменьшить зависимости"

DI не уменьшает зависимости, а делает их явными.

Единственное что в твоём коде я бы поменял, так это выкинул все эти I* интерфейсы и инжектил бы сами классы. Интерфейс лежащий рядом с единственной имплементацией — не нужен.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.