Nesse exemplo fica melhor com Facade?

3 respostas
furacao123

Aew galera tenho uma duvida dividi o projeto da seguinte maneira

Model
        -Entity
        -Dao
        -Service
  
  GUI
        -Controller
        -View
        -Handler

o Handler recebe de parametro um objeto View no cosntrutor que seria um jFrame ou JDialog…
no Handler eu manipulo os eventos dos componentes da view ecomunico o handler com o controller e o controller com o service onde faço a comunicao com o banco e tenho o retorno de um select por exemplo…

Agora a duvida estou fazendo por exemplo a geração de um Nota Fiscal se eu continuar assim o Handler vai ficar com muito codigo, pois o sistema possui varias rotinas, qual o melhor Patterns para implementar nesse caso, pensei no Facade onde eu separo as rotinas em subclasses e chamo os metodos, assim quebro o codigo em partes…esta certo o meu raciocinio??

Lembrando que estou utilizando Swing + JPA + Hibernate.

Alguem me da uma ideia para dar uma melhorada no Handler

Obrigado.

3 Respostas

T

Este não é o intuito do Facade. O Facade cria uma interface de acesso a um sistema complexo, simplificando-o. Serve também para esconder o sistema original do usuário.

O padrão Facade é aplicável quando:

[list]vc não precisa usar todas as funcionalidades de um sistema complexo e pode criar uma nova classe que contenha todas as regras para acessar esse sistema.[/list]
[list]vc quer encapsular ou esconder o sistema original[/list]
[list]vc quer usar a funcionalidade do sistema e quer adicionar novas funcionalidades[/list]

Se o que vc tem não se enquadra no objetivo do Facade, não tem pq usar. Seu problema - apesar de eu não ter entendido - parece ter mais cara de Strategy.
No entanto, aparentemente vc tem uma camada GUI e outra Model o que me faz lembrar do padrão MVC. Mas não sei, leia o objetivo de cada padrão pra ver qual se enquadra melhor no seu problema.

furacao123

Sim estou utilizando MVC mas junto com o View eu tenho o Handler, assim o View fica apenas o visual com os componentes e no Handler eu manipulo os eventos e faço a chamada ao controller, mas para um simples CRUD tranquilo, mas qdo tenho classes mais elaboradas como por exemplo um gerador de NF manual, tenho varias rotinas e com isso meu Handler fica muito grande com muitos metodos, precisava encontrar algum padrao para separar esses metodos tanto que alguns podem ser usados em outra rotina do sistema

T

Desconfio que seu problema se resolva com o Strategy mesmo. Dá uma lida nele e veja se é isso mesmo.

Criado 25 de outubro de 2010
Ultima resposta 26 de out. de 2010
Respostas 3
Participantes 2