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...

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

  • @vagnermello
    @vagnermello 4 года назад +24

    Após assistir o exemplo do salário, nunca mais serás o mesmo. OBRIGADO @EximiaCo

  • @doncorleshelby8095
    @doncorleshelby8095 4 года назад +30

    O cara é um semi-deus !!! Que aula senhores, que aula...

  • @rcosta551
    @rcosta551 4 года назад +8

    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

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

      DDD é pura perda de tempo. Se você usa DDD, você é um mal programador.

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

      @@Ö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!

  • @TechyMaki
    @TechyMaki 3 года назад +3

    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!

  • @viajarepreciso4929
    @viajarepreciso4929 3 года назад +1

    Muiiiitoooo Bommmmm

  • @LeonardoDias-te2gg
    @LeonardoDias-te2gg 4 года назад +43

    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

    • @cavier5117
      @cavier5117 3 года назад

      Isso é recorrente.

    • @ronansilva7180
      @ronansilva7180 3 года назад

      Essa aí foi cirúrgica kkkkkkkk

    • @paulosantana8056
      @paulosantana8056 2 года назад

      Kkkkk.

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

      A indireta foi para mim fofa? Se tiver algo contra mim, pode falar.

  • @EduardoSpaki
    @EduardoSpaki 4 года назад +7

    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.

  • @rafaelocoelho
    @rafaelocoelho Год назад

    Ó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!!!

  • @luscasleo
    @luscasleo 3 года назад +2

    8:43 essaa parte fez um 🤯 na minha mente. parabéns ❤️👏

  • @alexandrequeiroz3178
    @alexandrequeiroz3178 3 года назад

    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

  • @Domlalvaro
    @Domlalvaro Год назад +1

    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.

  • @rafosoalc
    @rafosoalc Год назад

    Excelente!!

  • @gabrielbento616
    @gabrielbento616 Год назад

    SENSACIONAL! SÓ ISSO...

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

    Meu deus, meus parabéns !

  • @karinadantas7552
    @karinadantas7552 2 года назад

    Segunda vez que assisto e to pegando as coisas aos poucos… obrigada

  • @oscarluizoliveira
    @oscarluizoliveira Месяц назад

    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

  • @diegocosta3750
    @diegocosta3750 2 года назад

    Ótimo vídeo, sempre explicando tudo de forma clara. Parabéns

  • @atmospheredamour6862
    @atmospheredamour6862 3 года назад

    velho continue esse lindo trabalho

  • @ARRABELLO
    @ARRABELLO 2 года назад

    Segura meu like ai man !

  • @AlvaroCamilloNeto
    @AlvaroCamilloNeto 4 года назад +16

    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!

  • @nacasadobeirinha1524
    @nacasadobeirinha1524 4 года назад +2

    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!

  • @DiasDeDev
    @DiasDeDev 4 года назад +5

    Cara, que conteúdo sensacional! Meus parabéns pela clareza, pelo exemplo trazido... fenomenal. Tô acompanhando ansioso pelo próximo vídeo aqui.

  • @pulagrilo
    @pulagrilo 4 года назад +3

    Muito obrigado pelo vídeo Elemar, você me deu outra visão sobre Domain. Parabéns.

  • @felipeklafke
    @felipeklafke 4 года назад +2

    finalmente uma explicação baseada nos fundamentos reais. obrigado. n faria nada diferente ate agora.
    errata: estenderia mais esse assunto.

  • @ThiagoGiovanella_TI
    @ThiagoGiovanella_TI 3 года назад +1

    Excelente linha de raciocínio.

  • @ViniWake
    @ViniWake Месяц назад

    A sua explicação é sensacional.

    • @EximiaCo
      @EximiaCo  Месяц назад +1

      Muito Obrigado!

  • @henriqueprj
    @henriqueprj 4 года назад +4

    Espetacular. Esperando o próximo.

  • @VictorMantovani
    @VictorMantovani 4 года назад +5

    Classes anêmicas são válidas quando precisamos usar um ORM?

    • @marclameu
      @marclameu 4 года назад +1

      Fiquei com a mesma dúvida.

  • @jayspduarte
    @jayspduarte 4 года назад +1

    Excelente!

  • @apbertoletti
    @apbertoletti 4 года назад +1

    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?

  • @EvandroBellintane
    @EvandroBellintane 4 года назад +1

    Série de qualidade mil

  • @Carcaraguitta
    @Carcaraguitta 2 года назад

    QI desse dos Deuses que Aula sensacional

  • @doni7i
    @doni7i 4 года назад +2

    Sensacional, clareou a mente. Excelente explicação.

  • @marciozebedeu
    @marciozebedeu 3 года назад

    Aula Top. Que professor heim!!!!!!

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

    👏👏👏

  • @thenumbofthebeast
    @thenumbofthebeast 3 года назад +1

    Que didática incrível!!! Meus parabéns!

  • @joecqryt
    @joecqryt 4 года назад +1

    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.

  • @ALBENETO
    @ALBENETO 4 года назад +1

    Excelente, muito obrigado!

  • @RafaelSaccomani
    @RafaelSaccomani 3 месяца назад

    Ja comprei o livro de capa vermelha

  • @danielchaves166
    @danielchaves166 2 года назад

    Didática sensacional!

  • @nonatowebby4166
    @nonatowebby4166 4 года назад +1

    Genial; parabéns cara!! VC passou uma visão muito boa sobre linguagem onipresente

  • @matheuskielkowski
    @matheuskielkowski 4 года назад +1

    Mais um vídeo top!

  • @fanturyP
    @fanturyP 4 года назад +1

    Muito bom

  • @HumbertoPereira1994
    @HumbertoPereira1994 4 года назад +1

    Excelente video Elemar!!!!

  •  3 года назад

    Explicação fantástica!

  • @fabionmiranda
    @fabionmiranda 4 года назад +1

    bacana...continua...traz sempre de forma didatica

  • @reginaldorrs
    @reginaldorrs 4 года назад +1

    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.

  • @felipenervo4288
    @felipenervo4288 4 года назад +1

    Excelente conteúdo!!

  • @liderancatecnica
    @liderancatecnica 4 года назад

    Elemar, como sempre, seu conteúdo é bastante educativo. Muito legal ver conteúdo seu aqui no RUclips

  • @user3fms960
    @user3fms960 4 года назад

    Ótima didática!

  • @raphaelnara
    @raphaelnara 4 года назад +2

    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?

    • @EximiaCo
      @EximiaCo  4 года назад +2

      Ó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/

  • @plablooo
    @plablooo 4 года назад +4

    07:03 "O C# a Microsoft já testou". Jr, Elemar.

  • @danieldouglaseverling5287
    @danieldouglaseverling5287 4 года назад

    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 ?

  • @theBoi-1983
    @theBoi-1983 4 года назад

    Para quem está começando na vida de programação, é recomendável a leitura nesse momento ou mais adiante?

    • @EximiaCo
      @EximiaCo  4 года назад +1

      Se está começando, recomendo esperar um pouco. :)

  • @IsmaelGasparinBill
    @IsmaelGasparinBill 4 года назад +1

    Excelente!

  • @BernardoGomesdeAbreu
    @BernardoGomesdeAbreu 4 года назад +1

    Muito bom !!!