Artigo no estilo: Curso

Por que eu devo ler este artigo:Neste artigo abordaremos o desenvolvimento de uma aplicação ASP.NET com a utilização de um padrão de desenvolvimento conhecido como DDD (Domain-Driven Design), que tem por finalidade orientar o desenvolvimento de projetos com base no domínio de nossa aplicação e não nas tecnologias que serão utilizadas para o seu desenvolvimento.

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.

BOX 1. ORM

É 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 ...

Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

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
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora