Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Por quê ClientInterface ?

Olá!

Por quê foi usado a interface ClientInterface ao invés da classe Client? Qual a diferença de usar uma ou outra?

2 respostas
solução!

Olá, Anderson.

Ao utilizar ClientInterface, caso a gente queira utilizar uma classe que implemente a mesma interface mas de modo diferente, a gente pode.

Assim ganhamos mais flexibilidade.

É uma regra muito conhecida no desenvolvimento de software: Sempre dependa de abstrações e nunca de implementações específicas. :-)

O conceito de interface não estava muito claro pra mim. Mas agora entendi.

A classe Client implementa a ClientInterface. E ao colocar o tipo ClientInterface para o parâmetro $httpClient, no construtor da classe Buscador, a gente permite que seja passada qualquer classe que atenda os requisitos da interface.

Um pouco confuso, mas entendi depois de rever a aula de interfaces no curso de OO 2, e reler sua resposta. kkk

Obrigado Vinicius!