Design de Classes: Façade, DAO e Beans  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
cezarsg
JavaChild

Membro desde: 28/04/2003 09:57:38
Mensagens: 129
Localização: curitiba
Offline

Pessoal, estou fazendo um diagrama de classes para um sistema web, usando tapestry. Pretendo usar o padrão DAO e Façade.

Há momentos em que preciso que um bean retorne algum objeto da base de dados, daí ele teria que acessar o DAO ou um Façade.
Exemplo:


Minha dúvida é se posso criar instâncias do DAO ou do Façade dentro do bean para isto, ou se isso deve ser delegado à outra classe p/ que o bean continue puro e simplista ??? Será q estou ofendendo algum pattern ???


[/code]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

O DAO deve prover a lista para o Bean.

PS: Facade não possui cecidilha por ser uma palavra francesa e a tradução é fachada.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
cv
Moderador
[Avatar]

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

louds wrote:PS: Facade não possui cecidilha por ser uma palavra francesa e a tradução é fachada.


Momento cultura: Façade tem cedilha JUSTAMENTE por ser do francês, Louds. No ingles, virou uma daquelas palavras elefante-branco que tem acentuacao. Outro exemplo eh naïve, com treminha no i e tudo.
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
cezarsg
JavaChild

Membro desde: 28/04/2003 09:57:38
Mensagens: 129
Localização: curitiba
Offline

Deixa eu ver se entendi, é melhor eu deixar o bean magrinho e bota este metódo getItemNota no DAO ref. a classe NotaFiscal, asim:

classe Nota Fiscal


classe DAONotaFiscal


É isto mesmo????? :multi:
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

cv wrote:Momento cultura: Façade tem cedilha JUSTAMENTE por ser do francês, Louds. No ingles, virou uma daquelas palavras elefante-branco que tem acentuacao. Outro exemplo eh naïve, com treminha no i e tudo.


Burro, burro, burro.
* Se escondendo de vergonha *

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
cezarsg
JavaChild

Membro desde: 28/04/2003 09:57:38
Mensagens: 129
Localização: curitiba
Offline

óóóia desvio do tópico aí minha gente!!
gleise
JavaChild
[Avatar]

Membro desde: 20/05/2004 18:02:21
Mensagens: 147
Localização: São Carlos - SP
Offline

Respondendo ao cezarsg e continuando com o topico

é assim mesmo...
Devemos tomar cuidado, pois ao implementar o DAO o objeto que representa um objeto de dados (NotaFiscal) deve somente fazer o que lhe foi determinado, ou seja, representar um objeto de dados para transportar essas dados (Value Object).
Todo e qualquer tipo de recuperação de dados ou ação de negócio deve ser atribuido a classe que implementa o DAO (DAONotaFiscal)

Eu sugiro que você dê uma olhada na definição de 10 arquiteturas desenvolvida pelo pessoal da Globalcode http://www.globalcode.com.br/content/jaref/index.jsp
Pode servir como um guia para ajudá-lo no desenvolvimento do seu projeto.

espero ter ajudado.
e boa sorte!
[Email] [WWW] [MSN]
cezarsg
JavaChild

Membro desde: 28/04/2003 09:57:38
Mensagens: 129
Localização: curitiba
Offline

gleise, obrigado pela atenção. Pelo que entendi, naquele projeto, os DAOs tem responsabilidade apenas de persistência e consulta sobre a base de dados. Mas daí fica igual ao que botei no primeiro tópico.

Se eu delegar para o DAO, somente ele vai saber sobre sobre as associações da nota fiscal. Daí, a nota fiscal deve pedir os itemsNotaFiscal ao DAONotaFiscal, como está no último código.

Já me falaram q isto nem é orientação objeto.
cezarsg
JavaChild

Membro desde: 28/04/2003 09:57:38
Mensagens: 129
Localização: curitiba
Offline

Como vcs decidem que métodos um bean deve ter (além dos métodos de acesso).

Estou envolvido num projeto que inicialmente, tinha colocado alguns métodos que dependiam de uma consulta a base de dados. Mas já estou usando um DAO. Estou precisando saber se coloco o DAO dentro do bean p/ ajudá-lo, ou crio o método no DAO ao invés do Bean.
kleins
JavaTeenager
[Avatar]

Membro desde: 19/03/2007 13:05:03
Mensagens: 171
Offline

Pra mim o Bean só deve ter os metodos de acesso..

Eu por exemplo nos meus códigos pegaria a NF pelo NfDAO e no objeto nf acessaria o nf.getItens, não precisa ir até o DAOItens se tiver tudo mapeado....

[]´s

Rodrigo
[Yahoo!] [MSN] [ICQ]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

louds wrote:
PS: Facade não possui cecidilha por ser uma palavra francesa .


É exatamente ao contrário: em francês ha cedilha. Façade (com cedilha) é também uma palavra inglesa, mas os teclados ingleses não têm ç o que os obriga (os preguiçosos claro) a escrever apenas o c em textos. (ver por exemplo este texto em frances)

Criando sua própria API de Validação



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