Só por curiosidade, essa situação que foi explicada usando o pato e o carro recebe o nome de ducktyping, não?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Só por curiosidade, essa situação que foi explicada usando o pato e o carro recebe o nome de ducktyping, não?
Olá Gustavo, tudo bem com você?
Peço desculpas pela demora no retorno.
O Duck Typing por definição diz que “Se anda como um pato e grasna como um pato, então deve ser um pato”, o que quer dizer que o tipo ou a classe de um objeto é menos importante que os métodos que ele define. Em vez disso, é verificado a presença de um determinado método ou atributo. Então supondo uma classe que tenha implementado o método __len__, que pertence a um str, list ou dict, então, através do conceito de duck typing, essa classe deve ser provavelmente um str, list ou dict, por ter implementado o método __len__.
Já o modelo apresentado durante a aula, é um padrão de projetos, o Factory Method, nesse padrão de projeto temos um método que será responsável pela criação dos objetos, instanciando as classes conforme os parâmetros informados e criando um objeto a partir dessa referência, assim o usuário não acessa diretamente a classe, recebendo apenas o objeto já construído. Mas, devido as classes FilaPrioritaria e Fila Normal implementarem métodos com nomes semelhantes e fazerem operações semelhantes, poderiam sim ser associadas ao conceito de duck typing, pois todas são uma Fila.
Para aprimorar ainda mais o seu aprendizado sobre o padrão de projeto Factory, recomendo a leitura do seguinte artigo, que irá abordar com detalhes o uso deste padrão:
O artigo acima está em Inglês caso tenha dificuldade com o idioma recomendo o uso do tradutor do navegador.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.