Инверсия зависимости нужна для того, чтобы выскоуровневые политики не заисили от низкоуровневых (т.е. например, бизнес-логика не зависела от отображения). Фактически нужно избавиться от прямых импортов низкоуровневых политик внутри высокоуровневых политик. Это даёт DI. Но ‘нормальный’ DI должен быть построен на интерфейсах, nest же предлагает по умолчанию DI на типах классов, которые мы импортим откуда? из реализации. Т.е. наши зависимости остаются не развернутыми.
Аминь! Пропагандируемый официально способ инжекта – днище, как по мне лучше использовать @Inject(someToken), тогда и не стыдно будет в глаза роберту мартину на питерском холи смотреть