Используйте один с DI.
Что касается аналогии;если ваш автомобиль отвечает за сборку двигателя;трудно изменить двигатель в какой-то момент. Даже если вы не измените фактический тип (например, газовый на электрический), смена конструктора вызовет у вас некоторые проблемы.
Конечно, автомобиль не зависит от двигателя и, наоборот, от конкретного типа. то есть.
Например;Вы могли бы иметь показную модель автомобиля с фиктивным двигателем. Или испытательный центр для вашего сверхсовременного двигателя.
Итак, если это возможно: не делайте нового (особенно при работе с интерфейсами), но используйте DI. Особенно;когда вы имеете дело с реальным оборудованием; -)