Dominando os PrincÃpios SOLID: Exemplos prÃĄticos com Java
āļāļąāļ
- āđāļāļĒāđāļāļĢāđāđāļĄāļ·āđāļ 26 āļŠ.āļ. 2024
- ðDescriçÃĢo:
Neste vÃdeo, como combinado no vÃdeo anterior, exploramos os princÃpios SOLID, um conjunto de diretrizes fundamentais para a construçÃĢo de software de qualidade. à claro da melhor maneira possÃvel, com uma boa mÃĢo na massa, essa serÃĄ uma base muito importante para podermos seguir com nossas implementaçÃĩes de arquitetura limpa.
Se vocÊ ÃĐ um desenvolvedor em busca de aprimorar suas habilidades e elevar o nÃvel do seu cÃģdigo, este ÃĐ o lugar certo!
ðŊQuem Deve Assistir:
Desenvolvedores de todos os nÃveis de experiÊncia que desejam aprimorar sua compreensÃĢo sobre como criar cÃģdigos mais flexÃveis, escalÃĄveis e fÃĄceis de manter usando os princÃpios SOLID.
ðLink do repo do git:
github.com/San...
Inscreva-se agora para uma jornada de aprendizado sÃģlida em programaçÃĢo e eleve suas habilidades de desenvolvimento para o prÃģximo nÃvel!
Lembre-se de curtir o vÃdeo, compartilhar com seus colegas desenvolvedores e assinar o canal para mais conteÚdo incrÃvel sobre programaçÃĢo e boas prÃĄticas de desenvolvimento.
âĻCrÃĐditos:
Music from Uppbeat (free for Creators!):
uppbeat.io/t/a...
License code: N9EJIPP4TME0HIVC
uppbeat.io/t/b...
License code: R8J6D4P7GE4RPITV
uppbeat.io/t/a...
License code: YTKIQDXUTRTVJSWS
uppbeat.io/t/i...
License code: 1S4BDZVJINMFWXBO
Creative Commons - Attribution-NoDerivs 3.0 Unported - CC BY-ND 3.0
Downtown Glow by Ghostrifter & Devyzed
Purple Dream by Ghostrifter bit.ly/ghostrifter-yt
Music promoted by www.chosic.com...
VÃdeo de Distill: www.pexels.com...
#java #solid #arquiteturalimpa #desenvolvimento #boracodar
Que aula perfeita! Comecei a ler Arquitetura Limpa recentemente e logo nos primeiros capÃtulos tive dificuldade de entender SOLID. Mas esses exemplos prÃĄticos deixaram tudo mais claro. Obrigado!
Fico feliz em te ajudar na sua jornada wilknisð
Um dos melhores vÃdeos sobre SOLID que jÃĄ vi atÃĐ hoje!
Show Ader, fico feliz que tenha gostado!ð
PÃī cara, valeu mesmo
Era exatamente o vÃdeo q eu tava procurando
Show Breno! Tmjðð
Gostei do vÃdeo! HÃĄ poucos vÃdeos que abordem princÃpios como solid de forma prÃĄtica, se puder trazer mais conceitos desse tipo, como por exemplo arquitetura limpa, de forma prÃĄtica que nem fez nesse vÃdeo, iria adorar! ParabÃĐns cara, continua.
Show! Fico feliz que tenha curtido, em breve vou lançar uma sÃĐrie de vÃdeo aplicando arquitetura limpa na prÃĄtica.
ParabÃĐns Sandro. Ajudou bastante meu entendido deste assunto.
Show vinicius!ð
Sempre no PadrÃĢo!!ð
ðð Ãtima aula professor!
Ãtimo video, deu pra entender muito bem
Show gustavo! Fico feliz que tenha gostado
Ãtimo conteÚdo, mano!
Valeu meu nobre!
Ufa, ainda bem que vc resolveu o acoplamento de repository e e-mail dentro de processa pedido ð
Ainda bem que esperei atÃĐ DIP pra ver vc resolvendo kkk
Boa irmÃĢo, Ãģtima aula ððžððžððž
ðð Valeu meu nobre!
Curti mt man, parabÃĐns!
Show Ãrico! Tmj ððŧ
muito bom!!!
Show! Fico feliz que tenha gostado!
ParabÃĐns pelo vÃdeo, ficou bem bacana!!! (atÃĐ fiz um resumo aqui rsrsrs). Dando meus 2 centavos aqui, sÃģ achei que ficou um pouco em aberto na hora que tu falou sobre o princÃpio de substituiçÃĢo de Liskov, pelo exemplo utilizado mesmo. Um outro exemplo seria a aplicaçÃĢo do padrÃĢo NullObject. O objeto que representa o estado nulo da classe pai pode ser utilizado em todos os lugares onde uma instÃĒncia da classe pai tambÃĐm poderia ser seria utilizada.
Boa! Ãtimo complemento, obrigado
Muito bom o conteÚduo. ParabÃĐns!!! Fiquei com uma dÚvida no OCP? Digamos que eu jÃĄ tenha ali minha classe de processar pedidos pronta, mÊs que vem eu precise incluir uma nova validaçÃĢo, um mÊs depois, eu preciso novamente incluir uma nova regra de negÃģcio, terei de extendÊ-la a cada vez que precisar de uma regra nova?
Sim, sempre cuidando para nÃĢo ferir o LSP, uma vez que muito provavelmente essa sua classe filha da filha nÃĢo conseguiria ser trocada pela classe "Processa Pedido", nesse cenÃĄrio eu atuaria criando essa segunda alteraçÃĢo com base na classe pai "Processa Pedido" e nÃĢo da classe filha.
Gostei do vÃdeo, mas o OCP acho que nÃĢo ÃĐ aplicÃĄvel, pois sempre terÃĄ que alterar alguma coisa. No seu exemplo, estÃĄ lindo, porÃĐm na prÃĄtica terÃamos que alterar a classe que chama a classe ProcessaPedido para chamar a classe ProcessaPedidoComAlteracaoRequerida, teve alteraçÃĢo. E se a validaçÃĢo fosse no meio do mÃĐtodo? A validaçÃĢo fosse depois do salvar e antes do enviarEmailConfirmaçÃĢo? VocÊ teria que refatorar a classe ProcessaPedido separando o mÃĐtodo processar em 3 mÃĐtodos, um para a regra, outro para o envio de email e o processar chamando esses 2, isso para poder estender a classe e chamar os mÃĐtodos em momentos diferentes. Ou seja, teve alteraçÃĢo na classe ProcessarePedido, mesmo que nÃĢo mudou o comportamento, teve alteraçÃĢo e agora temos mais 2 mÃĐtodos para testar.
NÃĢo sei se entendi corretamente esse princÃpio, pois para mim nÃĢo ÃĐ aplicÃĄvel.
Agora uma dÚvida: Se fosse necessÃĄrio mais uma validaçÃĢo depois que a classe ProcessaPedidoComAlteracaoRequerida jÃĄ estivesse em produçÃĢo, teria que criar mais uma classe estendendo a classe ProcessaPedidoComAlteracaoRequerida?
VocÊ estÃĄ totalmente certo, esse ÃĐ um dos princÃpios que tambÃĐm busco evitar, na verdade, a maioria dos autores sugere composiçÃĢo sobre herança, geralmente o "usar" vai funcionar melhor do que o "ser"(da herança).
Eu vou te falar, nÃĢo utilizamos herança em quase lugar nenhum nas aplicaçÃĩes em produçÃĢo que meu time gerencia, apenas em classes abstratas que contem as implementaçÃĩes concretas para que todas as classes "services" tenham as implementaçÃĩes concretas, mas do modo que o OCP propÃĩe em nenhum lugar.
Mas respondendo a sua pergunta, sim, criaria uma nova classe para adicionar essa funcionalidade, claro que cuidando para nÃĢo ferir LSP. Uma maneira mais elegante seria criar essa nova classe herdando a classe inicial e nÃĢo a filha.
Obrigado pelo feedback e pelas dÚvidas, espero tÊ-las sanado.
Java e VSCode ÃĐ meio estranho. ð
Hushasua depois de um tempo se acostuma
@@sandroramos1703 O bom do VSCode ÃĐ que da para usar o Copilot. Estava usando aqui e gostei. :D
Que crime usar vscode
Para qualquer coisa que normalmente vamos fazer(CRUD) o VS jÃĄ resolve, usar IDE para esse tipo de coisa ÃĐ matar uma formiga com um canhÃĢo... Para projetos gigantescos com ERP's e etc realmente faz sentido
ððððð