Olá!
Por quê foi usado a interface ClientInterface ao invés da classe Client? Qual a diferença de usar uma ou outra?
Olá!
Por quê foi usado a interface ClientInterface ao invés da classe Client? Qual a diferença de usar uma ou outra?
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!