Duvida padrão facade  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
joshh
Debugger

Membro desde: 28/03/2010 17:08:19
Mensagens: 52
Offline

A duvida é quanto ao facade. Atualmente quando necessito gravar em banco algo que preciso verificar regra de negocio eu chamo a classe facade e ela encapsula os managers... Nela eu pesquiso metodos pelo manager e após todo o processo eu chamo novamente o manager para gravar...

Esta certo isso? Ou devo utilizar o manager fora do facade?

Ex.:
Na interface preciso gravar um obj. Ex uma partida de futebol que preciso lançar a próxima partida após gravar o resultado da ultima partida.

Pelo managed bean é acionado o gravar, o gravar lança o resultado, se tudo deu certo o próximo passo no managed bean é chamar o facade, que irá lançar a próxima partida, no facade tenho declarado o manager, ele consulta no banco, retorna o adversario, organiza tudo e chama o manager para gravar a próxima partida...

Esta certo isso?
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Vc realmente precisa de um Facade?
Pense sempre em simplificar as coisas, e não colocar padrões apenas para colocar.

Poste sua estrutura de classes pra gente entender melhor.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
joshh
Debugger

Membro desde: 28/03/2010 17:08:19
Mensagens: 52
Offline

Model - Onde fica as classes do BD




Manager - Gravam o objeto no banco. Não pode ir regra de negócio





Facade - Regras Negócio







TimaBean - "Trabalha com a tela"

Gravar () {
TimeFacade.gerarNovo...();

}



Exemplo acima. Por exemplo.
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Bom, não sei se esse é o uso certo do facade, mas vou mostrar como tenho usado minhas classes ultimamente.

Exemplo de Cliente:

Entidade: Cliente (mapeada pelo hibernate, tem as lógicas pertinentes ao cliente)
Service: ClienteService (QUANDO NECESSÁRIO, quando se trabalha uma lógica do cliente que envolva operações com outras entidades. Não precisando, não crie à toa)
Repositório: ClienteRepository (interface que vai conter os métodos/operações de persistência referente ao cliente, buscaPorNome(), buscaPorIdade(), salva(), busca(), etc)
Dao: ClienteDao (contém a implementação do reposítório, e é ele que fará 'contato' com o BD)

Basicamente é isso, claro que quando usada em uma aplicação web, tem ainda o controller.

Grato.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team