Что такое constructor injection?

Middle
200 просмотров
AFK Offer AI

Constructor injection — передача зависимостей через конструктор (New-функцию). Например: func NewOrderService(repo OrderRepo, pay PaymentClient) *OrderService. Все зависимости видны в сигнатуре, их нельзя забыть передать (в отличие от setter injection). В Go это основной паттерн — просто и работает. Если конструктор принимает больше 5-6 аргументов, пора декомпозировать сервис.

Следующий вопрос

Что такое query builder vs raw SQL?