Artigo no estilo: Curso Os principais
fatores para a utilização do DDD são a independência de tecnologias e o
alinhamento do código com o negócio. Devido a essas razões, é de grande
importância a utilização do DDD. Apresentaremos então a criação de uma
estrutura básica para um webservice, apresentando os principais conceitos de
utilização do DDD e sua estrutura, onde também usaremos o Entity Framework.
O desenvolvimento de softwares com base na arquitetura em camadas tem sido a norma vigente em projetos corporativos por algum tempo. Desenvolvemos nossas soluções em grupos de responsabilidades como interface do usuário, serviços, acesso a dados, infraestrutura, entre outros.
Podemos ligar essas camadas definindo as referências a elas a partir da camada de serviços. Existem várias maneiras de definir essas camadas e suas referências. As escolhas que fazemos aqui dependem do tipo de projeto que será utilizado, podendo este ser Web, WPF, WCF, games, etc.
É certo que para o desenvolvimento de um software são necessárias habilidades e conhecimentos da equipe técnica responsável pela sua criação, mas além desse ponto, e sendo inclusive mais importante, é necessário ter o conhecimento com relação ao propósito do software, o que quer dizer que precisamos ter o conhecimento do domínio da aplicação.
Este, por sua vez, é obtido através de pessoas especializadas no ramo do negócio para o qual o software será desenvolvido. Esta pessoa tem que estar em trabalho conjunto com a equipe de desenvolvimento para que se tenha a real dimensão do projeto, de seus recursos e das necessidades da empresa.
É aqui onde entra o nosso tema de estudos, o desenvolvimento de aplicações com base no seu domínio, ou mais popularizado como DDD – Domain-Driven Design.
O DDD é um conjunto de princípios e padrões que ajudam os desenvolvedores a manterem a elegância no desenvolvimento dos objetos em seus sistemas. Sendo aplicado de forma correta, ele poderá levar a abstrações de software chamados modelos de domínio, que são responsáveis por encapsular a lógica de negócio da aplicação. Neste artigo falaremos então sobre os conceitos básicos e também sobre os padrões de projetos pertinentes para o DDD.
Ele é uma abordagem de desenvolvimento que abrange três pontos principais, que são a abordagem para o desenvolvimento do software em conjunto, a abordagem sobre as iniciativas estratégicas do negócio, e por fim, atender às exigências técnicas reais do software.
· Abordagem para o desenvolvimento do software – este ponto é responsável pela integração entre a equipe de desenvolvimento e as pessoas que conhecem o domínio do sistema;
· Iniciativas estratégicas – este princípio ajuda a definir as melhores relações interorganizacionais da equipe, fornecendo formas de reconhecimento de possíveis falhas no projeto.
· Atendimento das necessidades do software – nesta etapa é onde são atendidas as exigências técnicas reais do software, utilizando ferramentas de modelagem para analisar e desenvolver as entregas de software executáveis. Estas ferramentas permitem que os desenvolvedores produzam softwares com uma codificação correta do modelo mental dos especialistas de domínio, o que resulta em uma menor margem de erros de interpretação
Quando começamos a pensar sobre as questões referentes às tecnologias, estas de certa forma, tornam-se detalhes de implementação, onde o tipo de implementação exato pode variar. Nós realmente não nos importamos com qual pacote gráfico será utilizado, isso é um detalhe de implementação.
Nós não nos importamos mais com que tecnologia ORM (BOX 1) usamos; isso é um detalhe de implementação. Claro que as preocupações relacionadas com a tecnologia serão aspectos importantes da fase de planejamento, mas não tão importantes como a forma de representar corretamente o nosso negócio no código.
É uma técnica de programação para conversão e mapeamento de dados entre bancos de dados relacionais e linguagens de programação orientadas a objetos. Elas criam um objeto virtual que representa o banco de dados que poderá ser usado a partir de uma linguagem de programação de forma transparente para o usuário.
Em uma abordagem orientada a tecnologia é dada ...
Desbloqueie toda a DevMedia
-
+2000 artigos e vídeos
-
+40 trilhas sobre Front-end, Back-end, IA e muito mais
-
+5000 exercícios práticos
-
Mentorias ao vivo individuais