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" ;) .
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!
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.
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.
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?
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+
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" ;) .
Não existe explicação melhor do conceito do que esse. Top D+
Como sempre conteúdo, extremamente relevante e com uma didática incrível. Parabéns por mais um ótimo vídeo.
Conteúdo rico demais, sensacional mestrão!!
Conteúdo de altíssimo nível como sempre, top demais.
ah como é bom ver o Branas usando dark theme!!!
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!
Obrigado, estou lendo sobre o assunto no Arquitetura Limpa de Uncle Bob e não entendi muito bem, muito obrigado mesmo!
O cara é tão bom que até o ChatGPT pede revisão de código pra ele
Muito bom!!!
Branas monstro!!
Top demais!
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?
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.
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.
@@RodrigoBranas muito obrigado Rodrigo
O homi é brabo demais!
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?
Eu só sei pensar em termos de clean arch e DDD agora
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+