Введение любых абстракций - это всегда повышение сложности кода (хоть и в угоду другим параметрам). Нужно понимать, что внедрение любых практик, будь то DI, hexagon, messaging, event sourcing и т.п. требуют от программиста более высокого скилла, чем базовый уровень. Поэтому написание “красивого” и “чистого” кода требует наличия в команде программистов с более высокой нижней планкой опыта и навыков, что не все проекты могут себе позволить