SOLID LSP Liskov Substitution Principle

Поделиться
HTML-код
  • Опубликовано: 28 янв 2025

Комментарии • 20

  • @RonaldoRAS
    @RonaldoRAS 4 месяца назад +1

    Conteúdo sensacional Rodrigo (mais conhecido como Branas :) ). Observem que não é só entender o LSP, mas entender como o todo o negocio, observem quantas vezes é dito pelo Branas "respeite as expectativas do programa" ;) .

  • @ArielSardinha
    @ArielSardinha 5 месяцев назад +2

    Não existe explicação melhor do conceito do que esse. Top D+

  • @HerlonCosta
    @HerlonCosta 5 месяцев назад +1

    Conteúdo rico demais, sensacional mestrão!!

  • @diegocosta3750
    @diegocosta3750 5 месяцев назад +1

    Como sempre conteúdo, extremamente relevante e com uma didática incrível. Parabéns por mais um ótimo vídeo.

  • @fabiokido
    @fabiokido 5 месяцев назад +2

    Muito bom!!!

  • @JhonathasCavalcante
    @JhonathasCavalcante 5 месяцев назад +1

    Conteúdo de altíssimo nível como sempre, top demais.

  • @CarlosHenrique-mf9xp
    @CarlosHenrique-mf9xp 5 месяцев назад +7

    O cara é tão bom que até o ChatGPT pede revisão de código pra ele

  • @reneperez5589
    @reneperez5589 5 месяцев назад +1

    Top demais!

  • @ericnevesr
    @ericnevesr 5 месяцев назад +5

    Tenho uma dúvida: você adicionou um AverageCalculator em 27:52. Aparentemente, é uma classe anêmica. Isso viola os testes unitários dos casos de uso?

    • @RodrigoBranas
      @RodrigoBranas  5 месяцев назад +3

      Todo Domain Service é uma classe anêmica, não é um problema, é uma regra de negócio independente que acabou não fazendo parte de uma Entity ou VO. O ideal é sempre direcionar esse tipo de comportamento para um objeto de domínio, evitando que o modelo fique anêmico, mas eventualmente, caso não faça parte de algum deles pode ficar em um Domain Service.

    • @RodrigoBranas
      @RodrigoBranas  5 месяцев назад +1

      Sobre os testes, existe teste de unidade em cima do AverageCalculator, mas não em CalculateAverage, que por ser um Use Case orquestra outras camadas (entities e interface adapters por meio da inversão da dependência), dessa forma tendo um comportamento integrado e não isolado.

    • @ericnevesr
      @ericnevesr 5 месяцев назад

      @@RodrigoBranas muito obrigado Rodrigo

  • @mallmanndev
    @mallmanndev 5 месяцев назад +3

    ah como é bom ver o Branas usando dark theme!!!

  • @RicardoSantos-wl1bg
    @RicardoSantos-wl1bg 5 месяцев назад +2

    Branas, suas explicações são TOP, muito obrigado! Uma sugestão, de vez em quando você poderia fazer os examples em outra linguagem, como por exemplo em Java? Abraço!

  • @ericnevesr
    @ericnevesr 5 месяцев назад +1

    Obrigado, estou lendo sobre o assunto no Arquitetura Limpa de Uncle Bob e não entendi muito bem, muito obrigado mesmo!

  • @EduardoHenriqueVageti
    @EduardoHenriqueVageti 5 месяцев назад +1

    Branas monstro!!

  • @rudnascimento
    @rudnascimento 4 месяца назад

    O homi é brabo demais!

  • @denisontercetty1293
    @denisontercetty1293 2 месяца назад

    Mestre uma dúvida, não sei se deixei passar mas onde exatamente você usou o strategy partner nessa aula ? E outra questão, passando algum Calculator para o useCase por parâmetros, não estaríamos permitindo que a camada que usa o useCase (fila, api ...) fique responsável por escolher esse calcularor, e isso já não seria decisão de negócio em uma camada de tecnologia ? Aula toppppppp d+

  • @almeida.cavalcante
    @almeida.cavalcante 5 месяцев назад +1

    Eu só sei pensar em termos de clean arch e DDD agora

  • @JhonathasCavalcante
    @JhonathasCavalcante 29 дней назад

    Branas, pensando no seguinte cenario, tenho um DS (encapsula uma regra especifica de negocio), porem ele tem dependencia de configurações que estão salvas no banco de dados, do ponto de vista de CA, faz sentido injetar um repository/DAO no DS pra fazer a busca dessas configurações?