Entenda o que é DDD: abordagem focada em domínio

Para criar uma aplicação eficiente, é importante contar com as ferramentas certas. Nesse sentido, entenda o que é DDD, uma abordagem arquitetural alinhada a qualquer tipo de linguagem e sempre focada no domínio, ou seja, a área de atuação do negócio. 

Diferente das outras metodologias com siglas semelhantes – BDD e TDD – que se concentram em testes, o DDD foca principalmente no domínio e no design, como o próprio nome sugere. 

Afinal de contas, DDD é Domain Driven Design, ou seja, Design Direcionado ao Domínio, em uma tradução livre. Isso quer dizer que o recurso busca uma aplicação que atenda às expectativas do negócio, unindo funcionalidade, experiência do usuário e design final. 

Como o DDD foi criado?

Pode parecer Discagem Direta a Distância, mas o DDD não tem nada a ver com telecomunicação. Embora a comunicação em si, entre as pessoas da equipe envolvida no projeto, seja um importante pilar dentro dessa abordagem. 

Portanto, o DDD é muito utilizado entre as pessoas desenvolvedoras devido ao sucesso alcançado no procedimento do uso da ferramenta. Afinal de contas, ele pode ser utilizado independentemente da linguagem, se C# ou Java, por exemplo. 

E pensar que a abordagem foi criada ainda em 2003. Ela foi apresentada pela primeira vez no livro “Domain-Driven Design: Tackling Complexity in the Heart of Software” escrito por Erick Evans. Nele, o autor detalha protocolos, conceitos e técnicas para que o DEV entenda o que é DDD. 

Entre os conceitos mais importantes que há por trás da metodologia estão o próprio domínio e a comunicação. Isso porque o domínio é o coração do projeto. Ele, na prática, não guarda relação com o domínio e a hospedagem de sites. Pelo contrário, ele é a alma do projeto. Por exemplo, fintechs desenvolvem aplicações voltadas ao mercado financeiro. Ou ainda um escritório de advocacia cria um aplicativo com as devidas legislações da área. 

Nesse sentido, a comunicação é primordial, já que pessoas que não são developers precisam entender o projeto, bem como serem entendidas em suas expectativas. 

Quais os principais pilares para entender o que é DDD?

Como toda abordagem ou metodologia, o DDD tem pilares que são indispensáveis para a sua compreensão e execução. Sendo assim, confira os 3 pilares dessa ferramenta. 

  1. Linguagem ubíqua: lembra que falamos que a comunicação é importante no DDD? Isso porque todas as pessoas e procedimentos envolvidos no projeto precisam entender o que está sendo executado. Sendo assim, é crucial usar uma linguagem ubíqua, ou seja, universal e geral, sem termos técnicos ao extremo. Desse modo, quando se trata de um projeto para uma fintech, por exemplo, termos como amortização, lançamentos e antecipação devem constar no modelo e no código. 
  2. Bounded Contexts: ele delimita os contextos da aplicação. Isso porque cada contexto tem suas responsabilidades definidas e, dentro de cada um, há uma linguagem ubíqua mais apropriada.
  3. Context Map: trata-se do mapeamento dos Bounded Context, com seus domínios principais e genéricos. Lembrando que o principal é sempre mais importante que o genérico que, por sua vez, pode sofrer alterações. 

Conclusão

Para que você entenda o que é DDD ainda é preciso se aprofundar mais no assunto. Entretanto, já foi possível perceber que existem vagas de emprego que cobram essa skill nos developers, pois a abordagem é bastante usada em startups e empresas de tecnologia, em suas equipes de desenvolvimento. 

Dessa maneira, busque sempre o aprimoramento profissional. Além disso, conheça a plataforma da Coodesh, que possui vagas de emprego remotas e presenciais em startups de todo o Brasil. 

Você, como DEV, também pode se cadastrar na plataforma para se candidatar às vagas de emprego e participar das tech challenges disponíveis para aumentar as suas chances de contratação.

DEVs e empreendedorismo digital: como encarar o desafio de abrir seu próprio negócio

Quer trabalhar como desenvolvedor(a) PJ? Veja tudo o que precisa fazer