1
resposta

Porque a necessidade da Interface student Repository?

No treinamento foi criada a interface studentRepository, que logo depois é implementada pela classe pdoStudentRepository

Não ficou muito claro para mim a necessidade da interface. O papel dela. Não teria o mesmo efeito utilizar somente a classe pdoStudentRepository?

Obrigado!

1 resposta

Oi Otávio, beleza?

A criação da interface StudentRepository foi seguindo uma das boas práticas da orientação a objeto que diz que devemos depender de abstrações e não de implementações, essa boa prática é a inversão de dependência.

Um exemplo bem hipotético para você entender a vantagem: Imagine que no futuro queremos mudar a persistência da nossa aplicação de um banco MYSQL(como é hoje) para gravação em arquivos. Basta criar uma nova classe para gravação em arquivos implementando a interface StudentRepository e sua aplicação continuará funcionando perfeitamente, por que a sua aplicação conhece a interface e não a implementação de fato.

No treinamento de SOLID o instrutor deve falar um pouco mais sobre a inversão de dependência, assim como outros princípios, sugiro fortemente que assista.

Ficou mais claro? Qualquer dúvida estou à disposição.