De todos os padrões que eu citei, eu só programei com Singleton, mas estou querendo atualizar os meus projetos com estes padrões
então sugiram algumas duvidas:
1 - Vi muitos exemplos de DAO na net usando Generics, isto é uma regra ?
2 - DAO é mesmo a a melhor forma de se trabalhar com persistência ?
3 - para desenvolver um DAO, o uso de interfaces tb é uma regra ?
4 - Os exemplos de MVC que eu vi estão atrelados com programas visuais, posso aplicar MVC com aplicações console ?
5 - é aconselhável usar todos estes padrões em um só projeto ?
é isso, as perguntas são muito simples mas eu não tenho experiência com estes pattterns, preciso de uma força
[quote=mmx]De todos os padrões que eu citei, eu só programei com Singleton, mas estou querendo atualizar os meus projetos com estes padrões
então sugiram algumas duvidas:[/quote]
Apenas tome o cuidado de aplicar o padrão Singleton nos casos certos. Você realmente precisa um - e apenas um - objeto de determinado tipo?
Não. Você normalmente vê o uso de Generics por que os desenvolvedores gostam de fazer um DAO genérico, que já tem os principais métodos (save, remove, etc.). Mas se você quiser, você cria um DAO por classe sem extender de DAO genérico e continua sendo DAO.
O DAO já é considerado obsoleto. Veja isto:
Não.
Certamente. Você pode aplicar MVC até mesmo em aplicações não visuais (por exemplo, um sistema onde a view é json ou xml).
[quote=mmx]De todos os padrões que eu citei, eu só programei com Singleton, mas estou querendo atualizar os meus projetos com estes padrões
então sugiram algumas duvidas:
1 - Vi muitos exemplos de DAO na net usando Generics, isto é uma regra ?
[/quote]
Não.
Não.
Hoje em dia padrão DomainStore é melhor. É o padrão que o JPA e o Hibernate seguem.
Sim. O Padrão DAO é um derivativo do padrão Service que implica em 1 interface e N implementações. Normalmente só se faz uma implementação, mas a ideia do padrão é deixar aberto para que outras implementações sejam possíveis no futuro.
Poder pode a console também é uma forma de visualização, mas seria um exercicio académico sem muita utilidade. Para o padrão MVP teria mais sentido. A diferença é que no MVC cada componente tem uma view e um controler, no MVP a view é uma só com todos os componentes lá dentro. Seria complicado utilizar MVC com console e vários componentes ( que realmente não existem… ). Tem um fameworks que não lembro o nome que trasnform aplicações swing em aplicações gráficas de console (tipo clipper). Mas claro, que ai está usando o MVC do swing.
Na realidade vc nunca fará aplicações com MVC e sim com MVP. MVC é para construir bibliotecas de componentes gráficos. Ou seja, o Swing usa MVC, mas a sua aplicação que usa o swing usaria MVP (que é mais simples).
Se e só se forem necessários.
Colocar por colocar sempre dá asneira.
Padrões são elementos para serem usandos quando vc se depara com determinado problema muito especifico. Se vc não tem o problema, não tente usar a solução. É como uma pessoa que vê perfeitamente usar óculos de grau. Só atrapalha.