Como usar pattern Factory para criar um DataBaseFactory  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
caio.formiga
HelloWorld

Membro desde: 11/10/2007 14:49:58
Mensagens: 20
Offline

Estou querendo fazer uma aplicação MVC que funcione perfeitamente em qualquer banco (Ex: SQL, Oracle, MySQL, etc) então estava lenco o livro do GoF sobre Design Patterns e vi que tal situação seria bom usar o Abstract Factory...porem tenho algumas dúvidas:

1 - Existe algo chamado Simple Factory? Qual a diferença disso para Abstracted Factory e ainda para Method Factory?


2 - Essa modelagem esta correta?


Nesse modelo ai como eu faria para acoplar ao meu MVC...seria no Model?


E sobre os metodos a baixo, como fazer para que esses metods sirvam tanto para inserir um objeto Aluno, Disciplia, Curso, tendo em vista que vou usar uma JTable para manipular esses dados?


Grato...!

This message was edited 1 time. Last update was at 13/11/2007 17:29:33

YvGa
JavaGuru

Membro desde: 07/03/2007 15:58:16
Mensagens: 299
Offline

Vc ta lidando com a parte mais complexa de orientacao a objeto na minha opiniao q eh a mardita persistencia.

O meu conselho e nao tentar reinventar a roda, de uma olhada no pattern DAO, mapeamento objeto relacional, frameworks de persistencia e coisas do genero.

Nao mao eh mto trabalhoso e nao compensa o esforco.
peron
JavaGuru
[Avatar]

Membro desde: 09/06/2005 09:39:31
Mensagens: 234
Localização: Blumenau/SC
Offline

caio.formiga wrote:Estou querendo fazer uma aplicação MVC que funcione perfeitamente em qualquer banco (Ex: SQL, Oracle, MySQL, etc)


Veja, para fazer uma aplicação que funcione bem em Qualquer banco, sugiro a utilização de um ORM (Object Relational Mapping), pois não é so a questão de uso de um Objeto ou outro, mas sim, as diferenças entre as implementações de SQL de cada banco de dados, tipos de dados, etc..

Alguns vão ter triggers, outros não, etc.

O Hibernate abstrai isso para vocês, de maneira simples e eficiente.

No entanto, podes ainda, implementar de forma a deixar prático o uso, ou do Hibernate, ou JDBC, através deste pattern que você descreveu. A abstração que você apresenta, o proprio JDBC já faz

Eu usaria:
Hibernate + Spring (para injeção de dependencia, e controle de transação).

Dê uma pesquisada no fórum e na web, se você se interessar pelo assunto. Já perguntei aqui sobre isso, e fiz também buscas sobre DAO e Factory, e achei esse combinação acima a melhor opção.

[]s

Marcos Peron
http://www.marcosperon.com





"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?"
[WWW] [Yahoo!] [MSN] [ICQ]
fabim
Forum Spammer
[Avatar]

Membro desde: 14/12/2006 19:30:03
Mensagens: 1122
Localização: Vitoria - Espirito Santo
Offline

YvGa wrote:Vc ta lidando com a parte mais complexa de orientacao a objeto na minha opiniao q eh a mardita persistencia.

O meu conselho e nao tentar reinventar a roda, de uma olhada no pattern DAO, mapeamento objeto relacional, frameworks de persistencia e coisas do genero.

Nao mao eh mto trabalhoso e nao compensa o esforco.


Persistência é um princípio de OO?

ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται

Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao


[MSN]
caio.formiga
HelloWorld

Membro desde: 11/10/2007 14:49:58
Mensagens: 20
Offline

Galera valeu pelas dicas... porem eu queria aprender a fazer, talvez até re-inventar a roda, pois quero entender como isso funciona para depois partir para uso de framework e afins...na minha visão seria como aprender a usar JSP e depois usar o framework de Struts...


Sobre DAO e ORM eu irei sim estudar sobre o assunto e posto aqui em breve e sobre as coisa que falei o que vcs podem me fala?
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3201
Offline

caio.formiga wrote:Estou querendo fazer uma aplicação MVC que funcione perfeitamente em qualquer banco (Ex: SQL, Oracle, MySQL, etc) então estava lenco o livro do GoF sobre Design Patterns e vi que tal situação seria bom usar o Abstract Factory...porem tenho algumas dúvidas:

1 - Existe algo chamado Simple Factory? Qual a diferença disso para Abstracted Factory e ainda para Method Factory?


São padrões diferentes de fabricação de objetos.
Method Factory - um método é a fabrica
Factory - o metodo que fabrica está num objeto especial.
Abstract Factory - o objecto de Factory muda



2 - Essa modelagem esta correta?


A resposnta a isso é simples: implemente pelos menos para 3 bancos. Funciona ?
Então está correto.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
caio.formiga
HelloWorld

Membro desde: 11/10/2007 14:49:58
Mensagens: 20
Offline

Sergio
São padrões diferentes de fabricação de objetos.
Method Factory - um método é a fabrica
Factory - o metodo que fabrica está num objeto especial.
Abstract Factory - o objecto de Factory muda


Não entendi muito bem não cara Sim e no modelo que eu fiz foi só conceitual ainda, não comecei a desenvolver nada não..é apenas a fase de estudo Porem se eu fosse fazer daquele jeito estaria certo? Seria elegante, tem outra forma de fazer que seja muito diferente? Esta no caminho certo? Estas coisas

Valeu ai!
Alexandre Gazola
JavaTeenager
[Avatar]

Membro desde: 23/07/2004 14:48:23
Mensagens: 152
Localização: Rio de Janeiro
Offline

O Simple Factory é também conhecido como Static Factory, e é considerado mais um idioma do que um padrão. Consiste em criar um método estático numa classe para criar objetos. O factory method e o abstract factory estão descritos no livro do GoF. A implementação mais tradicional do abstract factory utiliza uma coleção de factory methods.

Quer uma sugestão para entender bem os padrões? Leia o livro "Head First Design Patterns" ou a tradução "Use a Cabeça! Padrões de Projetos" (não sei como está a tradução)

abraços

Alexandre Gazola

Blog: http://alexandregazola.wordpress.com

"Que proveito tem o homem ganhar o mundo inteiro e perder a sua alma?" (Mc. 8:36)

"Buscai, em primeiro lugar, o Reino de Deus e a sua justiça, e todas essas coisas vos serão dadas por acréscimo" (Mt. 6:33)
YvGa
JavaGuru

Membro desde: 07/03/2007 15:58:16
Mensagens: 299
Offline

fabiocsi wrote:

Persistência é um princípio de OO?


eu disse isso????

Acho q nao. Se foi essa a impressao q passou, me expressei mal. Alias, lendo e relendo nao consegui fazer essa leitura.
sergiotaborda
Forum Spammer
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3201
Offline

caio.formiga wrote:Sergio
São padrões diferentes de fabricação de objetos.
Method Factory - um método é a fabrica
Factory - o metodo que fabrica está num objeto especial.
Abstract Factory - o objecto de Factory muda


Não entendi muito bem não cara Sim e no modelo que eu fiz foi só conceitual ainda, não comecei a desenvolver nada não..é apenas a fase de estudo
!


A ique está a questão. "Fase de estudo" não existe. Implemente o codigo e veja se funciona. Quer conceptualmente como em runtime. funcionar conceptualmente é exactamente isso que vc quer saber. Quando mais coisas fizer com mesnos codigo melhor. Isso vc só vai saber codificando. Por isso que lhe disse para implementar para 3 bancos diferentes. E já agora use a estrutura em 3 programas diferentes. Ai sim vc vai ver se é flexivel, elegante, etc..

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team