O que é "Domain Driven Design (DDD)"

Metodologias

Definição e origem do termo 

O Domain Driven Design (DDD), ou Design Guiado pelo Domínio, é um padrão de desenvolvimento de software para criar um modelo de domínio que dê conta da complexidade do negócio. 

Enquanto o domínio é um conjunto de informações do sistema que pode ser utilizado no core business (o motivo de criação do software), o design diz respeito ao projeto de desenvolvimento de software. 

O termo DDD ganhou popularidade com o livro “Domain-Driven Design: tackling complexity in the heart of software”, do consultor Eric Evans, publicado em 2003.

Como usar o termo "Domain Driven Design (DDD)" na prática

Para aplicar o Domain Driven Design, é preciso modelar domínios a partir do processamento de informações. A ideia é centralizar o conhecimento para a criação desses modelos de domínio.

O objetivo do DDD é trazer um foco estratégico para melhorar a eficiência do desenvolvimento de software e acelerar o processo, principalmente quando falamos em domínios complexos. 

Assim, algumas vantagens de adotar esse modelo  são: reduzir custos, economizar tempo, aumentar a produtividade no desenvolvimento de software e criar funcionalidades realmente relevantes para os usuários.

Framework para DDD

Não há um framework rígido para implementar o DDD, o importante é que o time discuta sobre o que deve ser feito, buscando as melhores soluções. Além disso, o Domain Driven Design pode ser aplicado independentemente da linguagem utilizada para o desenvolvimento do software. 

Para conseguir implementar o Domain Driven Design, o time precisa entender bem do negócio. Nesse sentido, os desenvolvedores podem trabalhar em conjunto com os especialistas no negócio, para criar soluções que atendam as necessidades dos clientes. 

Outro ponto relevante na adoção do DDD é a linguagem ubíqua, que deve ser compartilhada entre todos os envolvidos no desenvolvimento do software para que não haja falhas na comunicação e para que todos estejam alinhados no projeto.

A delimitação do contexto também é um aspecto importante do Domain Driven Design para simplificar o processo de criação dos modelos de domínio.  Contextos diversos podem, inclusive, envolver equipes e linguagens próprias e ter objetivos diferentes uns dos outros. 

Conteúdos sobre o tema

Confira alguns conteúdos gratuitos para aprender mais sobre o DDD:

Você tem vontade de elevar a barra em produto no Brasil?

A PM3, contando com a ajuda da comunidade, está construindo o primeiro Glossário de Produto do Brasil e você pode fazer parte disso!

Ficou com vontade de ajudar também?

Clique aqui e registre sua colaboração. Ah, nós sempre damos os devidos créditos às pessoas. 😉