View
4.162
Download
3
Category
Preview:
DESCRIPTION
Apresentação realizada com o objetivo de conclusão de curso - SI.Equipe: Danillo, Fábio, Ricardo(orientador) e Eu!!
Citation preview
A Utilização das Práticas do DDD Aplicada a um Estudo de Caso.
Danillo César de Oliveira MeloFábio Brasil Fernandes de Araújo
Jairo Barros Junior
FACULDADE DE ALAGOAS - FAL
Orientador: MSc. Ricardo Rubens
A utilização da linguagem ubíqua
Construção do modelo de domínio◦ Padrões de projeto
◦ Ciclo de vida de um objeto de domínio
Estudo de caso
Conclusão
Falha na comunicação
Domínios complexos
Alto acoplamento
Baixa coesão
Conjunto de práticas
Ideal para domínios complexos
Desenvolvimento centrado no domínio
Linguagem onipresente
Comunicação em torno do domínio
Manutenção da linguagem
Modelo do domínio expressado no software
Arquitetura em camadas
Fonte: Imagem extraída e adaptada do livro, Domain-Driven Design: Tackling Complexity in the Heart of Software, Evans (2004, p. 68).
Anti-padrão
Criado a partir das conversas dos desenvolvedores com os especialistas de domínio.
Representado diretamente no código.
Possui identificação única
Possui características próprias dentro do modelo.
Responsabilidade e associações baseadas na sua identificação e não em seus atributos.
Somente transporta informações
Não possui identificação única
Imutável
Possuem somente métodos de acesso
Coordenam os trabalhos dos objetos do domínio
Aplicação
Domínio
Infra-estrutura
Fonte: Imagem extraída e adaptada do livro, Domain-Driven Design: Tackling Complexity in the Heart of Software, Evans (2004, p. 123).
Início do ciclo de vida
Criação de objetos complexos e agregações
Encapsula complexidade
Fonte: Imagem extraída e adaptada do livro, Domain-Driven Design: Tackling Complexity in the Heart of Software, Evans (2004, p. 65).
Requisitos do projeto
Estrutura do projeto
Camada do domínio
“ O s i s t e m a d e v e t e r r e s e r v a e h o s p e d a g e m , d e f o r m a q u e o s
c l i e n t e s p o s s a m r e a l i z a r s u a s r e s e r v a s p o r t e l e f o n e o u v i a
i n t e r n e t . U m a r e s e r v a n ã o é u m a h o s p e d a g e m , p o i s n a h o r a d a
h o s p e d a g e m a r e s e r v a f e i t a p o d e s e r a l t e r a d a , m a s c a s o i s s o
n ã o o c o r r a e l a s e t o r n a u m a h o s p e d a g e m . C a d a q u a r t o p o s s u i
u m ú n i c o i d e n t i f i c a d o r , e x i s t e m c i n c o t i p o s d e q u a r t o , s ã o
e l e s : s i m p l e s , c a s a l , d u p l o , t r i p l o e f a m í l i a . O h o t e l p o s s u i
u m a m p l o r e s t a u r a n t e , q u e p o d e s e r u t i l i z a d o p o r q u a l q u e r
c l i e n t e , m a s e x i s t e u m a á r e a d o r e s t a u r a n t e s ó p a r a o s
h o s p e d e s , a s s i m c o m o t a m b é m e x i s t e u m a á r e a s ó p a r a o s
f u m a n t e s , q u e c o n s e g u i m o s i d e n t i f i c a r n o s e u c a d a s t r o . ”
A Comunicação
A linguagem onipresente
Desenvolvimento centrado no domínio
AVRAM, Abel; MARINESCU, Floyd. Domain-Driven Design Quickly. InfoQ. 2007;
DDD. Domain-Driven Design, disponível em http://domaindrivendesign.org/. Acesso em 3 de Julho de 2008;
EVANS, Eric. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley. 2004;
FREEMAN, Elisabeth; FREEMAN, Eric; BATES, Bert; SIERRA, Kathy. Head First Design Patterns.O'REILLY. 2004;
METSKER, Steven John. Padrões de Projeto em Java. Bookman. 2004;
MCCARTHY, Tim. .NET Domain-Driven Design with C#: Problem - Design - Solution. Wrox. 2008;
NILSSON, Jimmy. Applying Domain-Driven Design and Patterns: With Examples in C# and .NET.Addison-Wesley. 2006;
SITEFANE, João Pedro Manaças. Desenvolvimento de software centrado no domínio. Lisboa. Dissertação de Mestrado. 2007;
Recommended