2:33 Design Pattern: Adapter. 3:00 Faz parte do GoF 3:15 Padrão de Projeto Estrutural 3:35 Motivação do pattern Adapter 3:40 Converte a interface de uma classe em outr que é esperada pelo cliente 4:00 Permitir que classe que não possuem uma interface comum trabalhem de forma conjunta 4:20 Deixar a possibilidade de futuras implementações para o cliente provendo uma interface pública para seus adaptadores. 5:35 Conceitos Básicos: client 5:50, target 6:10, adapter 6:48, 7:30 adaptee 8:00 Exemplo 10:50 Demo (PHP)
Muito legal o conteúdo e a forma como foi explicado. Depois seria interessante um vídeo sobre os trade-offs de Patterns. Utilizá-los de forma desmedida pode acaba aumentando muito a complexidade do código e o Code Smell chamado Shotgun Surgery (Uma alteração simples pede a mudança de N arquivos diferentes). Também vi muitos projetos com várias classes que basicamente não fazem nada. Só estão lá para caso alguém necessite utilizá-las algum dia, o que acaba sendo um caso de (Overengeneering).
acredito que quase... o mapper transforma e devolve a informação pro codigo cliente seguir com o fluxo, o adapter faz um "meio de campo" , sendo assim o codigo client não fica acoplado a implementação concreta da class que recebe a informação .. ( no mapper sim )
Nesse caso o próprio cliente necessitaria receber via DIP a implementação via construtor. Ele apenas utilizou como exemplo. Poderia haver outro Pattern como o Factory para criar o Adapter já com a Adaptee e fornecê-la ao Client via o padrão Strategy.
2:33 Design Pattern: Adapter.
3:00 Faz parte do GoF
3:15 Padrão de Projeto Estrutural
3:35 Motivação do pattern Adapter
3:40 Converte a interface de uma classe em outr que é esperada pelo cliente
4:00 Permitir que classe que não possuem uma interface comum trabalhem de forma conjunta
4:20 Deixar a possibilidade de futuras implementações para o cliente provendo uma interface pública para seus adaptadores.
5:35 Conceitos Básicos: client 5:50, target 6:10, adapter 6:48, 7:30 adaptee
8:00 Exemplo
10:50 Demo (PHP)
Consegui entender o "Tal" Adapter, obrigado.
Vi uns três vídeos por ai e não tinha conseguido entender, até que vi o seu e entendi tudo antes dos 8 minutos... Parabéns, excelente didática.
Excelente, único video em que eu consegui entender este assunto...
Perfeito como sempre Wesley, me ajudou bastante, muito obrigado!
Parabéns pelos vídeos! Muito triste essa situação: mais de 19k de visualizações e apenas 335 curtidas...
Top de mais cara, parabéns show de bola me ajudou muito!
E aí, Ryan! Poxa, muito bom saber disso... Abração
gostei da série, faz com mais patterns, dos mais usados aos mais complexos
E aí Thiago, tudo certo? Poxa, boa ideia... Vamos incluir aqui na nossa lista de próximos conteúdos. Valeu pela sugestão!
Excelente!
Poderia criar um curso sobre esse tema
Um exemplo muito comum do uso do adapter são os famosos repository
"Nem todo Herói usa Capa" - Obrigado!
Fala mais sobre Design Pattern, tipo os mais usados e tal.
Muito legal o conteúdo e a forma como foi explicado. Depois seria interessante um vídeo sobre os trade-offs de Patterns. Utilizá-los de forma desmedida pode acaba aumentando muito a complexidade do código e o Code Smell chamado Shotgun Surgery (Uma alteração simples pede a mudança de N arquivos diferentes). Também vi muitos projetos com várias classes que basicamente não fazem nada. Só estão lá para caso alguém necessite utilizá-las algum dia, o que acaba sendo um caso de (Overengeneering).
agora eu fiquei com uma duvida, utilizar algum mapper, como o mapstruct pra java, seria utilizar uma implementação do design pattern Adapter ?
acredito que quase... o mapper transforma e devolve a informação pro codigo cliente seguir com o fluxo, o adapter faz um "meio de campo" , sendo assim o codigo client não fica acoplado a implementação concreta da class que recebe a informação .. ( no mapper sim )
Na sua classe cliente vc esta referenciando as classes concretas não seria melhor para o exemplo chamar a interface?
Nesse caso o próprio cliente necessitaria receber via DIP a implementação via construtor. Ele apenas utilizou como exemplo. Poderia haver outro Pattern como o Factory para criar o Adapter já com a Adaptee e fornecê-la ao Client via o padrão Strategy.
9
খঁঅঁ