Anemic Domain Model e sistemas sérios  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Hermesnet
HelloWorld
[Avatar]

Membro desde: 15/01/2003 15:56:17
Mensagens: 11
Localização: São Paulo
Offline

Olá pessoal do GUJ,

Nossa, li toda a discussão sobre o assunto e estou impressionado como existem pessoas que pedem opiniões, não as reflete, e pior ainda, não as aceita.

Bom mais isso não vem ao caso.

Pelo que eu entendi, nesta discussão toda e alguns artigos que li, é que o ADM do nosso guru Martin Fowler quis expressar uma preocupação que ele tem com alguns desenvolvedores que estão construindo projetos OO sem ter noção do que estão fazendo, ou por não terem compreendido corretamente os padrões(VO, TO e DTO) e seus objetivos ou simplesmente não entenderam as primícias da OO.

Ao projetar um projeto grande ou pequeno(pois isso é muito relativo do ponto de vista do ego das pessoas) umas das primeiras atividades que nós temos que ter em mente é definir o Domínio do Negócio. E o que o Martim Folwer quis dizer é que estão definindo modelos de domínio de negócio utilizando essa tríplice (VO, TO, DTO) para auxiliar na troca de mensagem dos objetos e ele definiu isso como um ADM.


Alguém por gentileza, poderia me dizer se esta conclusão está equivocada ?



Abraço à todos.

Hermes González
[Email] [Yahoo!] [MSN] [ICQ]
dias.rodolfo
Smalltalk

Membro desde: 11/04/2007 07:46:00
Mensagens: 3
Offline

Ola, reparei que o problema aqui em discussao eh o Lazy Loading em clientes EJB3 onde as entidades estao detachadas, vi que as sugestoes do louds acabam todas por chamadas remotas com excecao da conexao aberta no cliente, o que tambem em miudos tambem acaba em conexao remota, mesmo se usarmos SFSB estaremos usando conexao remota, ou seja, de qualquer forma a conexao sera remota, e nao acho isso um problema, afinal a computacao distribuida foi feita para que conexoes remotas sejam feitas, mas o ponto aqui eh o seguinte, como fazer Lazy em entidades detachadas? Existe um framework chamada DataSlim que cria uma estrutura Lazy Loanding em qualquer ambiente inclusive no JPA e que pode ser usada em Entidades Detachadas, porem, como qualquer outra solucao ele fara um conexao remota sempre que um dado Lazy tiver que ser recuperado, porem a conexao pode ser feita para um Stateless, ou seja, nao precisamos ficar criando Stateful (que ao meu ver, sempre foi dito pra se evitar), nem abrindo transacao na camada view, o DataSlim simplesmente conecta com um Stateless que esse sim tem escopo transacional e executa o metodo responsavel por retornar os dados Lazy, ou seja, continuamos com a separacao de responsabilidade entre as camadas. Outro ponto importante quando estamos trabalhando em contextos transacionais como dentro do servidor o dataslim nao interage com o objeto entidade, ou seja, o mecanismo de Lazy pode ser usado apenas quando a entidade eh detachada, quanda a mesma ainda esta " atachada " o que vai prevalecer sera o mecanismo de Lazy do Container (Hibernate ou TopLink ) isso eh bom pois nao precisamos agora escrever clientes que precisem de qualquer alteracao quando formos usar um Framework de Persistencia ou outro.
Bom... A ideia eh mais abrangente mas espero ter dado uma ajuda.
DataSlim: http://code.google.com/p/dataslim
leodouve
Smalltalk

Membro desde: 03/04/2008 15:14:38
Mensagens: 1
Offline

Olá pessoal, ainda estou com as seguintes dúvidas:

1) Como é feita a passagem dos dados do TO para o Domain Model? Via uma façade?

2) Quem que efetua as chamadas ao DAO? O Domain Model? Ou entre o DAO e o Domain Model existe uma camada?

A ideia seria uma arquitetura da seguinte forma:
View -> Controller -> Façade -> Domain Model -> DAO

E para a passagem dos valores da view para o controller e para o domain model utiliza-se um TO?

A ideia é esta? entendi direito?
[Email]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team