domingo, 23 de agosto de 2015

Modelo expresso em Software - DDD


Para um modelo de domínio refletir a abstração do domínio de um software da forma mais adequada possível, as classes são categorizadas de acordo com o papel que cada uma desempenha. Cada papel tem certas responsabilidades e relacionamentos com outras classes que desempenham outros papeis. Sendo assim, definir o papel de cada classe facilita a implementação do modelo de domínio. As classes que implementam o modelo de domínio podem ser categorizadas em: 

domingo, 16 de agosto de 2015

Arquitetura em Camadas - DDD


Existem várias maneiras de dividir um sistema de software, mas por questões de convenções e experiência a arquitetura em camadas é a mais adotada. A arquitetura de camadas nos ajuda a ter alta coesão, baixo acoplamento e separar as responsabilidades.

Alguns arquitetos de software se preocupam muito mais com a infraestrutura (frameworks e tecnologias) da arquitetura do que com o problema que o software se propõem a resolver. Uma arquitetura de ponta pode trazer boa resposta no desenvolvimento do sistema, mas se toda essa tecnologia não conseguir resolver o problema proposto, a arquitetura não conseguiu agregar valor ao cliente.

quarta-feira, 12 de agosto de 2015

Modelagem de Domínio - DDD


Atualmente é aceito que na maioria dos projetos de software a real complexidade do desenvolvimento está em entender o domínio no qual o software é aplicado. Para ajudar com essa questão, a modelagem de domínio é amplamente incentivada pelo Domain-Drive Design.

terça-feira, 11 de agosto de 2015

Linguagem Onipresente - DDD

Em um projeto existem vários envolvidos, os especialistas do domínio, desenvolvedores, clientes, patrocinadores e outros interessados no projeto.
Dentre estes envolvidos, os especialistas do negócio têm um grande entendimento do domínio do sistema, mas são limitados quanto aos termos técnicos utilizados para o desenvolvimento de software. 


Com os desenvolvedores está situação também ocorre, mas de maneira inversa, tem conhecimento de como o sistema deve ser feito, mas não tem o conhecimento necessário para fazê-lo, falta-lhes conhecimento de como o sistema deve se comportar, como deve agir em cada situação, essas informações serão passadas pelos especialistas do domínio.

domingo, 9 de agosto de 2015

Domain-Driven Design - DDD

Eric Evans, compilou uma série de técnicas e conceitos de desenvolvimento de software, está nova abordagem visa um maior entendimento do negócio.

Um software está sempre relacionado com a necessidade, negócio ou atividade diária de seus usuários. Essa área de interesse onde o usuário aplica o programa é denominada domínio. Se o software é utilizado para em um sistema de controle aéreo seu domínio é o controle de aviões, se é utilizado para fazer matrículas de alunos de uma escola, seu domínio é o cadastro de alunos, o domino é a área na qual o software é aplicado.