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
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.
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