como usar Transfer Object ?  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7817
Localização: São Paulo, SP
Offline

Thiago, o singular de "user stories" eh "user story"
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Thiago Senna
Forum Spammer
[Avatar]

Membro desde: 11/02/2005 08:08:02
Mensagens: 1511
Offline

cv wrote:Thiago, o singular de "user stories" eh "user story"


Valeu Carlos, vou arrumar os lugares onde cometi este pequeno deslize!

Thiago Senna
Meu bog http://www.trsenna.wordpress.com
[Email]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3654
Localização: João Pessoa, Paraíba - Brasil
Offline

Thiago Senna wrote:Mas pq ficou mais difícil de testar? Por causa do AOP? Ou por causa do ActiveRecord?


Por causa da AOP, o meu código não fica nas classes do modelo como o seu. É difícil de explicar

Quando você mexer no AspectJ vai entender

Blog pt-br | Blog en | My Last.fm | Blog de RPG
----------------------------------------
PBJUG - Grupo de Usuários Java da Paraíba | Paraíba.rb - Paraíba Ruby Brigade
How do we tell truths that might hurt?
[WWW] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

pcalcado wrote:Como ja mencionei algumas vezes aqui, ao inves de AR puro e simples, eu prefiro uma abordagem baseada em Observers.

Quando o objeto muda de estado (ou quando recebe um .svae(), mais pratico e usavel) ele avisa seus observadores, o DAO, Repositorio, whatever eh um destes.


Isso parece legal, mas quais as vantagens em cima de uma simples chamada ao DAO/Repository/WTFory?

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

LIPE wrote:
Isso parece legal, mas quais as vantagens em cima de uma simples chamada ao DAO/Repository/WTFory?


Imagina seu Façade:



Ou


Fora que assim você poderia passar seu objeto diretamente à camada cliente e ela salva-lo quando apropriado (ainda não pensei sobre isso direito).

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

Não expressei minha dúvida corretamente. Gosto sim de AR, o que te perguntei foi relacionado à aplicação de Observer

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

Ah tah

Você pdoe até não usar um observer:



Mas eu prefiro algo mais genérico:



Não consigo imaginar um real bom motivo para observers quando você só tem um observer, mas não consigo gostar da primeira estratégia

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

hehe foi esse lance de um Observer que pensei Shoes.

Disso aqui você não gosta?


Se sim, por quê?

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

É disso mesmo .

Os repositórios ficam entre os clientes (BugBearManager) e o domínio e referenciar uma camada superior de uma inferior é problema (e isso já deu uma bela discussão na lista de domaindrivendesign).

Se você colocar repositórios como observadores, elimina essa relação baixo-cima com uam abstração.

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

Aí na minha humildérrima opinião é perfumaria à toa. Além de gerar outro problema: como diferenciar os diferentes métodos a serem chamados no Repository sendo que com Observer tudo o que pode se fazer é um notify?

*se protege do olhar assassino de Shoes*

This message was edited 3 times. Last update was at 15/08/2005 16:05:22


Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

LIPE wrote:
Aí na minha humildérrima opinião é perfumaria à toa.




Ok, mas se tiver algum outro observador, eu padronizaria isso

LIPE wrote:
Além de gerar outro problema: como diferenciar os diferentes métodos a serem chamados no Repository sendo que com Observer tudo o que pode se fazer é um notify?




Complexidade?

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

Isso é fácil quando utilizando o Hibernate.

E o delete()? E se o método create() deve retornar a chave primária? E no caso de load()?

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

LIPE wrote:
E o delete()? E se o método create() deve retornar a chave primária? E no caso de load()?



O Repositorio continua existindo apra estas coisas

A coisa toda é evitar que todo método de uma interface XYZManager fique salvando o bojeto toda hora (se você rpecisa usar dois ou mais destes num caso de uso, se ferra).

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Filipe Sabella
Forum Spammer

Membro desde: 12/03/2003 11:25:57
Mensagens: 4641
Offline

Entendi, mas uma solução parcial não me parece suficiente:


Mas com certeza há alguma maneira de abstrair isso. Não vale AOP XD

Former LIPE.
[ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5170
Localização: Sydney - Australia
Offline

Uhmm...tem razão quanto ao delete.

Agora, query só pedindo rpo repositorio IMHO

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team