Mensagens enviadas por: leonickel
Índice dos Fóruns » Perfil de leonickel » Mensagens enviadas por leonickel
Autor Mensagem
fbar,

Nesse seu modelo eu adicionaria mais uma camada entre o Facade e o DAO, que seria uma camada chamada Manager. É nela que ficaria a regra de negócio da aplicação, os métodos que trabalhariam diretamente com o DAO.

Cliente -> Action -> Delegate -> Facade -> Rule(Manager) -> DAO

Delegate -> responsável por achar os facades e delegar as requisições do Cliente
Facade -> Camada que conversa diretamente com o Rule e sendo um ejb pode ser acessada remotamente.
Rule -> Camada onde fica a lógica de toda aplicação. Validações de lógicas de dados, etc. Chamadas das operações save, delete, etc do DAO.
DAO -> Camada de abstração da manipulação dos dados (save, delete, etc)


Olá,

Pelo que eu conheço o pattern BusinessDelegate é utilizado para fazer a interface entre o cliente(actions de JSP, etc0 e a regra de negócio da aplicação(RULE). Em outras palavras, ele serve pra delegar em qual Manager será tratada tal situação da aplicação.

Usando EJB, o delegate serve também para axar estes objetos e para definir qual o tipo de protocolo que deve ser usado para esta comunicação.

Portanto, por definição, o Delegate não deve conter lógica, apenas delegar para a regra correta
Usando Hibernate voce tentou fazer assim:

SELECT n, i
FROM notas n JOIN itens i on n.id = i.nota_id
WHERE n.data < :data
AND i.quantidade > :quantidade

Daí o resultado que voltará será uma lista de Object[] e depois voce faz um for pra colocar o itens dentro da nota, mais ou menos assim:

List<Object[]> list = (aqui voce roda a query);
for(Object[] objs : list)
{
Notas n = objs[0];
n.setItens = objs[1];
}
Olá Euclides,

Não está funcionando pq voce não está setando valores para os atributos, vc está apenas dando get sem antes dar nenhum set.

O que eu lhe aconselho seria criar um construtor em cada classe filha e nele voce dar um super.setXXX e aí passar os valores desejados. Aí quando vc der um get os valores irão existir. Seguindo o meu conceito, ficaria assim o recheio da classe Nacional:

public class Nacional extends Carro
{
Nacional()
{
super.setMarca("GM");
super.setModelo("Astra");
super.setCor("Preto");
}

@Override
public void acelerar()
{
// TODO Auto-generated method stub

}
}

Aí na sua Classe Loja na hora q voce cria o objeto Nacional ele seta os valores que estão no construtor e quando voce dá um get ele pega os métodos da classe pai Carro.

Um conselho que te dou é tomar mto cuidado ao usar Herança, pois as vezes usar demais acaba gerando mtos problemas pois qlq mudança na classe pai afetará todas as classes filhas.
Olá Daniel,

Como ferramentas AJAX, eu lhe indicaria usar o Framework DWR(Direct Web Remoting) http://getahead.org/dwr que é um framework bem simples e leve que facilita muito a nossa vida. Ele tem agora até um tutorial em portugues =) http://getahead.org/dwr/languages

Outra opção que indicaria é o GWT(Google Web Toolkit) http://code.google.com/webtoolkit/ que é um poderoso framework do Google que tem um propósito bem interessante também.

Para começar nesse mundo AJAX eu aconselharia iniciar com o DWR pois ele é muito simples de configurar =)

Abraços,

Leonardo
 
Índice dos Fóruns » Perfil de leonickel » Mensagens enviadas por leonickel
Ir para:   
Powered by JForum 2.1.8 © JForum Team