Junior — Middle
Pode explicar o conceito de injeção de dependências e como ele é aplicado no desenvolvimento de software?
sobes.tech IA
Resposta da IA
A injeção de dependências (Dependency Injection, DI) é um padrão de projeto em que os objetos recebem as suas dependências de fora, em vez de as criarem por si próprios. Isto aumenta a modularidade, a testabilidade e a flexibilidade do código.
Exemplo: em vez de a classe criar ela própria um objeto de base de dados, ela recebe-o através do construtor ou de um setter.
class Database:
def query(self):
return "dados"
class Service:
def __init__(self, db: Database):
self.db = db
def get_data(self):
return self.db.query()
# Injeção de dependência
database = Database()
service = Service(database)
print(service.get_data())
Este método facilita a substituição de dependências (por exemplo, por mocks em testes) e melhora a manutenção do código.