DDD é um dos temas clássicos da ciência da computação no desenvolvimento de software. Para entender a importância do DDD deve-se ter um bom nível de amadurecimento em desenvolvimento, já que ataca os principais problemas e, claro, em desenvolvimento de sistemas complexos. O DDD separa o joio do trigo: dos desenvolvedores e "dos desenvolvedores". O problema é que o próprio livro do Erick torna dificil o entendimento e, principalmente, como aplicar. Tem muita gente por aí dando interpretações equivocadas sobre o DDD e por isso procuro me guiar no Domain-Driven Design Europe (tem o canal aqui no youtube), inclusive o Erick já fez várias palestras nesse canal.
Sou um programador Jr, sempre me questionam sobre DDD e TDD (vejo também na maioria das vagas). Eu iniciei com programação praticamente no começo deste ano e desde então só havia ouvido falar, mas graças ao seu vídeo eu consegui me introduzir nesse termo DDD e entender melhor sobre o que é o DDD. Obrigado por compartilhar os conhecimentos de vocês conosco, minha carreira agradece. Like e compartilhado para que mais pessoas possam aprender com vocês.
Sigo as práticas de DDD há alguns anos já. Os padrões táticos e estratégicos realmente mudam a forma como a gente interage com especialistas de negócio, vê o software e o problema que estamos resolvendo. Não consigo hoje não seguir por esse caminho, se tenho essa oportunidade. É muito massa ver esse conteúdo tomando mais corpo na comunidade brasileira. :)
Apesar de ser um livro antigo se tratando do ano de 2003, o conteúdo é super atual. Abre muito a cabeça na hora de desenvolver um software de qualidade, aborda conceitos importantes na hora de trabalhar com arquitetura de microserviços.
woow, que tema... esta maneira de enxergar a integração entre as áreas de negócio e tecnologia é extremamente salutar. Como com certeza a faculdade não abordará esta questão com uma referência bibliográfica tão boa, irei ler este livro muito em breve. Obrigado pelo vídeo!
Excelente "primer", e que coincidência...recentemente fui questionado sobre DDD em uma entrevista. Acredito que trata-se de um daqueles temas que só com bagagem e experiência você realmente entende, e por isso a questão.
Tem razão Fernando. DDD não é leitura para quem está começando, aliás muita coisa na nossa área leva tempo para entender completamente. Por isso estar sempre estudando é importante e prazeroso. Grande abraço!
Tem que sempre usar o DDD antes do número para ligar para uma pessoa! Brincadeiras a parte kkkkkk Interessante o conteúdo sobre DDD, cheguei no canal agora e estão de parabéns!
Pensa num assunto que vem ganhando relevância, ai se encomenda o livro no Mercado Livre, e quando vê pá: um casal querido vem falar do assunto!! Como não assistir?
Gabriel, Vanessa, por favor, num próximo video vocês podiam, se possível, cobrir o assunto, e falar um pouco, o quem sabe uma mini serie, montando uma arquitetura com base em DDD, fico pensando que um dos grandes desafios do DDD é a delimitação de um domínio, onde ele se inicia e onde termina...
Sei que não tem haver com o vídeo, mas o que vocês estão achando daquela IA GPT-3? Existe alguma possibilidade de ela "tomar o emprego" de alguns programadores?
DDD é punhetação mental! Claro que não estou falando isso no sentido contestar o vídeo (que foi muito bem feito e informativo, vale o agradecimento), nem querer dizer que nada do DDD presta já que muito se aproveita em teoria, mas quando vai para implementação, muitos destes conceitos engessam a produção e, principalmente, o desenvolvimento. Quem já viu, ou pior, teve que dar manutenção num código baseado em DDD vai entender. Na prática a burocracia acaba virando prioridade e não o negócio. Criam uma camada de complexidade totalmente desnecessária para a grande maioria das entidades, algo que só vai piorando conforme o sistema cresce e mais entidades são criadas, uma cama de gato com kilos de objetos para resolver uma entidade dentro de uma padronização puritana sem demanda lógica. Minha sugestão é usarem o conceito DDD (não a implementação) e sempre focar no básico das boas práticas para deixar as coisas simples e escalonáveis, como Separation of concerns, Layers e os próprios recursos da orientação a objetos. Com esses 3 pilares vão resolver muita coisa, podendo até sem saber implementar algo como DDD faria, mas pela necessidade e não pela regra. Uma dica para os mais novos ou até mais velhos que ainda não se ligaram: cuidado com teorias e ferramentas, estão sempre "inventando" alguma coisa para vender livros e cursos. No grosso pouca coisa é realmente impactante, não passam de variações que entregam mais do mesmo.
Eu agradeço o vídeo, explicação excelente, pois não consegui achar de forma clara alguém me explicando o assunto (acho que, justamente, por ser mais outro bundle de termos e nomes esquisitos pra dizer a mesma coisa que já fazemos kkk). Mas voltando ao assunto em si, acho 90% inútil... Um desenvolvedor não deveria ter que ocupar o cérebro memorizando essas besteiras. Tem coisas que são mais necessárias nos especializarmos. Quem deveria se preocupar com isso é o dono do negócio, ou um gerente, algo assim... Pra ser mais uma opção de como as equipes serão organizadas: desenvolvimento, negócio, etc.
DDD também pode se referir a Data Driven Development, usualmente chamado de Data Driven Programming. . É um conceito interessante que seria muito bem explicado pela didática de vocês. . Um artigo relacionado muito interessante é o ""Try to Code Without If-statements" : medium.com/edge-coders/coding-tip-try-to-code-without-if-statements-d06799eed231