Design Orientado a Domínio – Programação DDD

5 minutos de leitura
Design Orientado a Domínio – Programação DDD
Foto: Dragoscondrea | Dreamstime
Participação

À medida que a tecnologia da informação avança e novos softwares são desenvolvidos, as empresas procuram cada vez mais maneiras de criar aplicativos e sistemas seguros de forma relativamente rápida que cubram todas as condições e sejam fáceis de testar e desenvolver. Por tentativa e erro, foi criada uma abordagem que é vista por muitas organizações como a maneira ideal de construir software.

É sobre Design Dirigido por Domínio. Qual é exatamente essa abordagem de desenvolvimento de software na empresa?

Design orientado por domínio (nome abreviado DDD) – o que é essa abordagem?

No início, vale a pena definir o que exatamente é a abordagem DDD. É uma forma de construir aplicações e sistemas que devem refletir basicamente as necessidades do negócio – premissas de negócio que ao mesmo tempo se tornam pré-requisitos incluídos no software.

Domain Driven Design é uma técnica de desenvolvimento de software usada nos maiores sistemas de informação de negócios.

Quais são as entradas que sustentam o método DDD? Em primeiro lugar, o design de qualquer software deve ser baseado na cooperação igualitária entre programadores e pessoas diretamente relacionadas ao negócio, que ao mesmo tempo são o consumidor-alvo da solução. A segunda condição para a criação de sistemas usando o método DDD é o desenho da lógica do projeto na forma de domínios.

Domain Driven Design
Foto: Juthamat Yamuangmorn | Dreamstime

O que é um domínio? Em poucas palavras, esta é uma área específica de negócio que precisa ser implementada. Uma área que precisa ser melhorada com software recém-criado ou desenvolvido. Dependendo da importância e essência de um determinado conceito e funcionalidade, podemos dividir os domínios em:

  • Os domínios principais, que são a parte mais importante do sistema e são responsáveis ​​pela funcionalidade mais importante.
  • Domínios de suporte, que são extensões do domínio principal – sem ele, os domínios de suporte são inúteis.
  • Domínios comuns, que são recursos importantes, mas opcionais.

Em que consiste o DDD?

O processo de criação de um novo software baseado nos princípios do Domain Driven Design é um pouco diferente da abordagem tradicional de desenvolvimento de software, que inclui uma série de questões técnicas relacionadas ao processamento de mecânica, entrada e saída de dados, comunicação com o servidor, banco de dados e integração com outras ferramentas, utilizadas pela organização.

UX Design – Design de experiência do usuário
UX Design – Design de experiência do usuário
4 minutos de leitura
Ratmir Belov
Journalist-writer

A programação DDD consiste principalmente em modelos de domínio (raiz, subdomínios e domínios gerais) que contêm uma implementação muito básica dos parâmetros de negócios que devem ser incluídos no software. É muito importante que o programador responsável pelo desenvolvimento do código entenda completamente o propósito de criar um novo software e entenda o valor que o domínio carrega. O DDD não pode prescindir de definir uma linguagem que permita que especialistas e programadores de domínio entendam facilmente essa linguagem. Para essa abordagem, essa linguagem foi chamada de linguagem Ubíqua.

Que dificuldades podem surgir ao usar a abordagem Domain Driven Design?

Qual é o maior problema com o uso do método DDD? Em primeiro lugar, é a comunicação entre o negócio e o lado técnico. Como regra geral, sempre deve haver espaço em uma abordagem DDD para um especialista de domínio que tenha um conhecimento profundo da abordagem e atuará como um “compilador” em comunicações de negócios e de TI por direito próprio.

Domain Driven Design
Foto: Seventyfourimages | Dreamstime

Devido ao percentual relativamente pequeno de projetos criados com o método DDD, é muito difícil encontrar uma pessoa que assuma tal função com total dedicação. A falta de experiência dos programadores em criar usando a metodologia DDD também pode causar dificuldades adicionais.

Vantagens e desvantagens da abordagem DDD

Vamos começar com os benefícios de usar uma abordagem Domain Driven Design ao criar um novo software. Em primeiro lugar, é uma ótima solução para projetos complexos em que o número de recursos, objetivos de implementação e diferentes níveis é tão grande que é difícil capturá-lo conceitualmente em um design de aplicativo tradicional. A abordagem DDD atende às reais necessidades do negócio – não há espaço para meias medidas – se o domínio for interpretado corretamente pelo programador, ele será implementado em plena conformidade com as necessidades do usuário final. Também vale a pena notar o custo relativamente baixo de desenvolvimento do aplicativo, que foi criado de acordo com a abordagem DDD desde o início.

Infográficos – a arte de apresentar informações
Infográficos – a arte de apresentar informações
6 minutos de leitura
Ratmir Belov
Journalist-writer

Quais são as desvantagens de usar essa técnica? A principal desvantagem é a pouca prática no uso desta forma de desenvolvimento de novos softwares. Por isso, o início da utilização de uma nova estratégia, do ponto de vista da equipe do projeto, traz o risco de uma total incompreensão do conceito e, consequentemente, do fracasso.

O custo inicial de produção de projetar e construir uma aplicação utilizando a metodologia DDD é maior, o que certamente afeta a pequena porcentagem de projetos que são implementados desta forma.

Como usar o DDD em meu próprio projeto?

Para que o DDD seja prático em nosso projeto, devemos realmente começar do zero. Não é possível adotar parcialmente um conceito de Domain Driven Design onde o restante do modelo será projetado de forma tradicional. Nesse caso, a satisfação com o produto final será baixa tanto da equipe de TI quanto do usuário final.

É muito importante encontrar um especialista de domínio antes de iniciar o trabalho que conheça as especificidades do negócio, suas necessidades e possa traduzi-las em instruções claras para os desenvolvedores. A escolha da tecnologia de desenvolvimento de aplicativos no caso de trabalhar com DDD realmente fica em segundo plano.
Avaliação do artigo
0,0
0 avaliações
Avalie este artigo
Ratmir Belov
Por favor, escreva sua opinião sobre este assunto:
avatar
  Notificações de comentários  
Notificar sobre
Ratmir Belov
Leia meus outros artigos:
Contente Avalie Comentários
Participação

Você pode gostar

UX Design – Design de experiência do usuário
4 minutos de leitura
Ratmir Belov
Journalist-writer
ERP – planejamento de recursos empresariais
6 minutos de leitura
Svetlana Gatsakova
Svetlana Gatsakova
Director of Corporate Information Systems Department
Visão geral da biblioteca Microsoft DirectX
5 minutos de leitura
Ratmir Belov
Journalist-writer
Selenium é um kit de ferramentas feroz para desenvolvedores
4 minutos de leitura
Editorial team
Editorial team of Pakhotin.org