DDD e Aggregates [RESOLVIDO]  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Olá,
Sobre Domain-Driven Design, gostaria de saber se um Aggregate pode possuir membros (não-raíz) que sejam a raíz de outros aggregates... ou mesmo membros de outros aggregates...

Ex.:

Site [raíz]
Area
Cidade
Estado

Estado [raíz]
Cidade
Rua

Deu pra entender??

This message was edited 1 time. Last update was at 18/07/2009 12:20:43


powered by
[WWW]
Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

Não.

Uma classe de um agregate conhece apenas classes que estejam dentro do agregate. Só o raiz conhece outros objetos externos, e ainda assim não pode conhecer os membros das agragações externas.

Pense que os membros do agregate são "private". Assim ajuda a iluminar o que pode e o que não pode.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Certo... Então podemos dizer que, em geral, os agregates não possuem uma quantidade muito grande de entidades (ou VOs) em sua composição (em geral)? Correto?
Aproveitando, ainda sobre DDD... Os VOs podem ser representações de uma tabela no banco de dados? Exemplo, a tabela/Objeto (com chave-composta): coordenada(x,y,mapa_id) pode ser um VO?

Muito obrigado pela ajuda!!!

powered by
[WWW]
tnaires
GUJ Master
[Avatar]

Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline

Olá
spinow wrote:Certo... Então podemos dizer que, em geral, os agregates não possuem uma quantidade muito grande de entidades (ou VOs) em sua composição (em geral)? Correto?

Na maioria dos casos, você terá no máximo 3 ou 4 classes agregadas, acho.

spinow wrote:Aproveitando, ainda sobre DDD... Os VOs podem ser representações de uma tabela no banco de dados? Exemplo, a tabela/Objeto (com chave-composta): coordenada(x,y,mapa_id) pode ser um VO?

Na maioria dos casos os VOs terão uma tabela correspondente, mas não é regra. É difícil analisar seu exemplo da coordenada pois não conhecemos o contexto de utilização, mas tô achando estranho esse mapa_id aí...

Tarso Nunes Aires

Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires

spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Entendi, esclareceu bem minha dúvida, quer dizer que não é porque o objeto não é uma entidade que ele não possua um id também, né? O exemplo da coordenada foi meio vago mesmo... mas eu entendi que depende do contexto.

Valeu!

powered by
[WWW]
mhnagaoka
What is classpath?
[Avatar]

Membro desde: 22/10/2008 09:39:45
Mensagens: 9
Offline

spinow wrote:Sobre Domain-Driven Design, gostaria de saber se um Aggregate pode possuir membros (não-raíz) que sejam a raíz de outros aggregates... ou mesmo membros de outros aggregates...


Desculpe, este tópico já está marcado como resolvido, mas eu achei uma discussão interessante aqui:
http://www.udidahan.com/2009/06/29/dont-create-aggregate-roots/#comment-36468

Tenho me interessado por DDD ultimamente e, pelo que vi, muitos caras de .Net (mais especificamente de Alt.Net) têm publicado coisas bem interessantes sobre DDD (acho que isso já foi constatado aqui neste fórum, em algum outro post):
- Udi Dahan (http://www.udidahan.com)
- Greg Young (http://codebetter.com/blogs/gregyoung)
- Jimmy Nilsson (http://jimmynilsson.com/blog)
- entre outros.

Valeu!

Mapa de Preços de Combustíveis - http://mapaprecos.appspot.com/
[WWW]
spinow
Thread.start()
[Avatar]

Membro desde: 16/07/2009 20:00:33
Mensagens: 27
Offline

Bacana! Valeu colega!

powered by
[WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team