Sobes.tech
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.