Explicando o Princípio da Injeção de Dependência usando Ruby

Deyvid Nascimento
1 min readDec 23, 2022

--

O Princípio da Injeção de Dependência (Dependency Injection, ou DI em inglês) é um padrão de projeto que consiste em separar a criação de uma dependência de seu uso.

Isso é útil porque permite que as dependências sejam substituídas facilmente, o que pode ser útil em testes ou em situações em que diferentes implementações de uma dependência são necessárias.

Aqui está um exemplo simples de DI em Ruby:

class EmailService
def send_email(to, body)
# Código para enviar um email aqui
end
end

class User
def initialize(email_service)
@email_service = email_service
end

def send_email(to, body)
@email_service.send_email(to, body)
end
end

# Em algum lugar em seu código
email_service = EmailService.new
user = User.new(email_service)
user.send_email('user@example.com', 'Olá!')

Neste exemplo, a classe User depende de uma instância de EmailService para enviar emails.

Em vez de criar uma instância de EmailService dentro da classe User, a instância é passada como um argumento para o construtor da classe User através da injeção de dependência.

Isso permite que a instância de EmailService seja facilmente substituída por uma implementação diferente em testes ou em outras situações em que seja necessária uma implementação diferente.

--

--

No responses yet