Linguagem Onipresente (Ubiquitous Language) | DDD do jeito certo | Parte 02
HTML-код
- Опубликовано: 19 окт 2024
- O fundamento para a prática de DDD é a explicitação da linguagem onipresente. Ela é a base para escrita de códigos que atendem as expectativas do negócio e, também, testáveis.
Nesse vídeo, explicamos o que é a linguagem onipresente, por que ela é importante, como identificá-la e muito mais.
----------------
Conheça o grupo intensivo DDD do jeito certo com Elemar Júnior - Grupo intensivo de estudos que conta com MasterClass ao vivo, que vão além da teoria, pois falamos de aspectos práticos, trazendo vivências e exemplos da vida real, baseados em anos de carreira.
exco.me/ddd
Livro Digital
DDD do jeito certo - ddd-do-jeito-c...
Após assistir o exemplo do salário, nunca mais serás o mesmo. OBRIGADO @EximiaCo
O cara é um semi-deus !!! Que aula senhores, que aula...
Sou entusiasta de DDD e defensor. Pra mim é difícil pensar na construção do software sem ele. Já li o livro azul. Porém existe um grande gap entre o software e o negócio, que poderia ser preenchido com o ddd estratégico. Briguei com chefe já até fiz tech talks sobre mas a maioria das empresas tem uma visão ignorante e acha que se trata de over engineering.
É realmente como vc bem disse o DDD estratégico é o mais importante. Sem ele não faz sentido sair codando.
DDD pode ser um grande aliado para conseguir software sustentável
DDD é pura perda de tempo. Se você usa DDD, você é um mal programador.
@@Öyster_Boy parece até uma disputa de construir CRUD mais rápido, na sua visão se construir CRUD com DDD é menos produtivo? Então lembre-se que software tem o objetivo de resolver um problema de negócio não é apenas uma interface para adicionar dados a BD!
Passando por aqui novamente, e desta vez não pude deixar de comentar =D.
Este vídeo é uma injeção de força para conseguirmos "dar um passo para trás" e questionar se realmente existe um entendimento comum sobre como o sistema funciona antes de pensarmos em alterá-lo / evoluí-lo ou até refazê-lo.
Fazer isso é criar travas para evitar a proliferação de múltiplas interpretações das regras de negócio do sistema já dentro do código, o que é altamente prejudicial para o futuro (e presente) do software.
Obrigado Elemar!
Muiiiitoooo Bommmmm
Você colocou que o "C# a Microsoft já testou" e seria ótimo se todos entendessem isso. Pois já vi projetos no mercado testando get e set default de property só pra aumentar code coverage e passar no pipeline de CI/CD
Isso é recorrente.
Essa aí foi cirúrgica kkkkkkkk
Kkkkk.
A indireta foi para mim fofa? Se tiver algo contra mim, pode falar.
Sensacional.
Em reuniões de projeto, sempre ressalto a importancia de "falar a mesma lingua" e "normalizar" os termos de negócio.
Mas, eu iria mais fundo: Muitas empresas ou áreas de negócio, antes mesmo de dizer como trabalham, precisam de definir processos!
Digo isso, pois em muito dos meus trabalhos com software, ao conversar com um cliente, vejo que é necessário primeiro arrumar a casa, para só então começar a falar de software.
O que eu quero dizer é que, nem sempre o cliente é dono das regras de negócio, mas que, dado seus anseios é preciso primeiro trabalhar em cima de processos operacionais da empresa/área.
Algumas empresas trabalham sem procedimento algum em suas áreas de negócio... tendo cada profissional tratando a mesma questão de maneiras diferentes, abrindo caminho para várias exceções.
Ótima aula. Me ajudou muito a perceber que não sei nada de domínio. Interessante é que muitas vezes, senão sempre, pensamos conhecer algo que na realidade não sabemos nada.
Mas esse vídeo foi muito bom, principalmente esse ponto: " se não encontramos testes para uma determinada classe, é provável q não tenhamos estejamos implementando um domínio, mas uma classe anêmica..." Muito bom!!!
8:43 essaa parte fez um 🤯 na minha mente. parabéns ❤️👏
sim Elemar Jr, eu gostei de verdade do vídeo. O exemplo do aumento de salário foi quase uma epifania aqui. O B R I G A D O
Vídeo muito avançado pra mim. Preciso primeiro entender a razão deste "Get; Set;" que sempre fiz e nem sei direito pra que.
Excelente!!
SENSACIONAL! SÓ ISSO...
Meu deus, meus parabéns !
Segunda vez que assisto e to pegando as coisas aos poucos… obrigada
Parabéns, excelente vídeo! Muito bem explicado e detalhado. Aproveitando o tema da linguagem onipresente, acredito que ela seja válida tanto para Devs x Especialistas de Negócio quanto para Devs x Devs. Aplicar essa ideia no contexto de desenvolvedores faz total sentido, já que, muitas vezes, usamos termos ou abordagens diferentes para resolver um problema, o que pode gerar confusões, atrasos ou erros de entendimento. Uma linguagem comum entre desenvolvedores ajuda a padronizar discussões técnicas, tornando-as mais claras e eficientes. Abraços
Muito obrigado
Ótimo vídeo, sempre explicando tudo de forma clara. Parabéns
velho continue esse lindo trabalho
Segura meu like ai man !
Excelente vídeo Elemar! Muito Obrigado! Não sei se você vai falar nos próximos vídeos mas uma coisa q sempre me pega em linguagem onipresente é a questão do idioma dos métodos e atributo. Veja quando estamos num país de língua inglesa, onde os especialistas de domínio, os programadores e a linguagem de programação tem o mesmo idioma, escrever um código que diz oque o dominio explica é bem natural. Mas na nossa realidade tem essa quebra pois o especialista de dominio até pode saber ingles, mas no seus dia a dia ele nao fala e os termos inclusive muitas vezes não tem tradução direta para o ingles (boleto :) ) nesse caso qual a melhor pratica para implementacao do DDD no código, e isso ainda não entrando nos padroes, só focando na linguagem ubiqua.
Obrigado desde já pela atenção!
Up
Pausa do video para comentar
Monetização do Canal, se é que existe algum interesse nisso, você poderia adicionar link da amazon para as indicações de livros que você da. Parei o video só para adquirir o livro vermelho.
Agora depois de absorver retomo o tema classes anêmicas.
Por um bom tempo quando não tinha nenhuma experiencia e literatura eu via essas classes anêmicas e simplesmente achava normal.
Depois de ler arquitetura limpa comecei a pensar um pouco diferente no uso das classes e construtores, eram cosias que basicamente não via nos códigos que trabalhei.
Outro ponto interessante são os nomes que damos as coisas e quando falamos de domínio o que acho fascinante é entender como o dono chama as coisas, como ele entende as operações e acredito que essa é a parte mais gostosa da programação, entender a complexidade do dominio e escrever algo testavel.
Tenho investido meu tempo em estudar esses temas e seu canal tem sido muito util.
Obrigado Elemar!
Cara, que conteúdo sensacional! Meus parabéns pela clareza, pelo exemplo trazido... fenomenal. Tô acompanhando ansioso pelo próximo vídeo aqui.
Muito obrigado pelo vídeo Elemar, você me deu outra visão sobre Domain. Parabéns.
finalmente uma explicação baseada nos fundamentos reais. obrigado. n faria nada diferente ate agora.
errata: estenderia mais esse assunto.
Excelente linha de raciocínio.
A sua explicação é sensacional.
Muito Obrigado!
Espetacular. Esperando o próximo.
Classes anêmicas são válidas quando precisamos usar um ORM?
Fiquei com a mesma dúvida.
Excelente!
Elemar, parabéns pela didática no assunto. Deixa eu te perguntar uma coisa que sempre me vem mente quando falamos de linguagem onipresente: pra dominios de negocio no Brasil, escrever o código em português seria uma boa prática pra manter a linguagem onipresente. Pergunto isso, pois seria um depara a menos pra ser feito entre o domínio e o código. O que vc pensa sobre isso?
Série de qualidade mil
QI desse dos Deuses que Aula sensacional
Sensacional, clareou a mente. Excelente explicação.
Aula Top. Que professor heim!!!!!!
👏👏👏
Que didática incrível!!! Meus parabéns!
bacana, achei bem legal o exemplo do salário, Elemar como poderíamos fazer para mapear essa linguagem onipresente, pensei em algo como um glossário seria isso mesmo? Pra servir como um lembrete do que o especialista disse para a forma como eu entendo aquele conceito.
Excelente, muito obrigado!
Ja comprei o livro de capa vermelha
Didática sensacional!
Genial; parabéns cara!! VC passou uma visão muito boa sobre linguagem onipresente
Mais um vídeo top!
Muito bom
Excelente video Elemar!!!!
Explicação fantástica!
bacana...continua...traz sempre de forma didatica
Excelente! Muito bem explicado. Eu terminei de ler o "livro azul" há pouco tempo, mas suas explicações me fazem entender muito mais claramente o que eu tinha visto no livro. Ansioso pelos próximos vídeos da série.
Excelente conteúdo!!
Elemar, como sempre, seu conteúdo é bastante educativo. Muito legal ver conteúdo seu aqui no RUclips
Ótima didática!
Ola Elemar. Parabens novamente pelo conteúdo. Mas tenho uma dúvida: supondo que a regra relacionada a um tipo de aumento de salario mude, como replicar essa alteração seguindo o principio open closed do SOLID, ou seja, nao modificar a classe, mas estendê-la?
Ótima pergunta. Vai estar bem na frente, mas a resposta está no padrão Strategy
www.eximiaco.tech/pt/2019/10/28/usando-specification-pattern-para-respeitar-o-open-closed-principle/
07:03 "O C# a Microsoft já testou". Jr, Elemar.
Elemar, parabéns pelo conteúdo sua didática é sempre espetacular.
Tenho duas dúvida sobre a melhor maneira de levantar / falar sobre as "invariant rules".
Elas devem ser levantadas com os especialistas de domínio ?
Meu modelo de domínio deveria refleti-las ?
Particularmente gosto muito da abordagem sugerida pelo Greg Young em codebetter.com/gregyoung/2009/05/22/always-valid/
e gosto de implementar com o padrão Notifications (docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/domain-model-layer-validations#:~:text=In%20DDD%2C%20validation%20rules%20can,that%20should%20always%20be%20true.)
Como você geralmente trabalha com elas ?
Isso valeria um video ?
Para quem está começando na vida de programação, é recomendável a leitura nesse momento ou mais adiante?
Se está começando, recomendo esperar um pouco. :)
Excelente!
Muito bom !!!