Como atacar a complexidade no coração do software, sem aumentar a dificuldade na hora de desenvolver. Uma introdução ao tema com Elemar Jr.
Confira os episódios disponíveis da playlist de vídeo deste tema:
DDD foi idealizado para ajudar a reduzir a complexidade no desenvolvimento de software. Entretanto, frequentemente, ocorre o oposto em sua adoção.
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.
O grande mérito de DDD é fornecer um “framework de pensamento” para entender o domínio. Dois conceitos chaves, propostos por DDD são subdomínios e contextos delimitados.
Uma vez que os subdomínios e contextos delimitados tenham sido identificados é importante explicitar a relação entre eles, sobretudo, as estratégias de comunicação. Essa “visão” impacta diretamente a forma como se planeja a arquitetura e, inclusive, a estrutura dos times técnicos.
Entidades & Objetos de Valor são, ambos, conceitos fundamentais para quem deseja implementar DDD do jeito certo.
A correta identificação de agregados ajuda, além do entendimento do domínio e do modelo, na solução de vários desafios técnicos. Nesse vídeo, mostramos, de maneira prática e descomplicada, como identificá-los.
Eventos de domínio são abstrações poderosas para facilitar a comunicação entre contextos delimitados e, eventualmente, como alternativa para persistência.
Como suportar, no modelo de domínio, regras de negócio complexas que podem, eventualmente, serem modificadas ao longo do tempo sem violar o princípio “Open/Closed” do SOLID? Uma alternativa é utilizar o “Specification Pattern”
“Repositório” é um dos padrões mais conhecidos do DDD. Entretanto, é um dos menos entendidos e frequentemente é mal implementado.
Em que idioma deve ser escrito o código que expressa o modelo de domínio? Alguma restrição com português, francês, alemão, …? Algum problema em escrever código em um idioma diferente daquele que o especialista de domínio entende? E se o time e o especialista de domínio tiverem “primeiros idiomas” diferentes?
Serviços de domínio viabilizam a implementação de operações complexas que não “cabem” em entidades e VOs. Por outro lado, usados de forma inadequada, podem gerar “anemia” no modelo.
Instanciar agregados precisa ser simples! Em linguagens OO, geralmente, recorremos a construtores. Entretanto, há pelo menos três cenários onde eles não são a alternativa mais adequada.
Organizar código em sistemas grandes é um grande desafio. Em sistemas usando DDD, módulos são uma ótima abstração que ajuda nessa organização.
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas a gerar mais resultados através da tecnologia.
8 horas intensivas onde você vai aprender a atacar a complexidade no coração do software, sem aumentar a dificuldade na hora de desenvolver.
Simplificamos, potencializamos e aceleramos resultados usando a tecnologia do jeito certo.
A reconhecida excelência da EximiaCo, em consultorias e assessorias, aplicada no desenvolvimento de competências através de publicações e capacitações abertas e in-company.
contato@eximia.co
Para se candidatar nesta turma aberta, preencha o formulário a seguir:
Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:
Para se candidatar nesta turma aberta e receber mais informações sobre a capacitação, preencha o formulário a seguir: