Padrão Factory

3 respostas
C

Ola pessoal, estou aqui procurando uma ajuda pois estou querendo aprender o [size=“18”][color=“red”]Padrão Factory[/color][/size], mais não acho algo simples e objetivo, sem muita enrolação mais sim, fácil de entender ate mesmo com exemplos práticos e exercicios.

Valeu pela força[/quote]

3 Respostas

S

“Cabeca_cl”:
Ola pessoal, estou aqui procurando uma ajuda pois estou querendo aprender o [size=“18”][color=“red”]Padrão Factory[/color][/size], mais não acho algo simples e objetivo, sem muita enrolação mais sim, fácil de entender ate mesmo com exemplos práticos e exercicios.

Valeu pela força

[/quote]

O padrão factory (Fabrica) relaciona-se à boa prática de declarar variáveis usando interfaces e não classes. Por exemplo:

List listadeProdutos = …

e não

ArrayList listadePordutos = …

Se usamos interfaces, muitas classes podem ser usadas como objeto real. Por exemplo, para List temos ArrayList e LinkedList. Como decidir ?
Usando um Fabrica.
Uma fabrica, como o nome indica , fabrica objetos de uma certa interface. Por exemplo:

List listadeProdutos = FabricaDeProdutos.getProdutos();

Aqui vemos o uso de uma fabrica. O corpo de uma fabrica é constituído de um método publico e estático cujo retorno é uma interface. Internamente o método decide que objeto retornar.
Neste exemplo, a fabrica decide também quais produtos estão na lista, mas isso não é o objetivo do factory. O objetivo é isolar a criação de objetos que satisfazem uma interface. Teoricamente todos os new deveriam estar num Factory.
O método da fabrica pode ter parâmetros , por exemplo

DAO dao = DAOFactory.getDAO(“sqlserver”);

Aqui criamos um DAO que comunica com o sqlserver. A classe que implementa essa funcionalidade nós na temos que saber ao escrever o código acima. É o implementador da fabrica que decide isso.

C

[color=“red”]sergiotaborda[/color],
muito obrigado pelas informações, mais adoraria ver algo na pratica, um texto tipo passo a passo, pois eu fiz algo parecido com isso que sempre retorna um objeto porem vc tem que passar uma String como parâmetro para saber qual tipo vc deseja, algo simples e vc tiver algum código fonte ou ate mesmo um passo a passo, seria de muita ajuda.

email: [email removido]

obrigado

S

Seria mais facil se soubesse o objetivo e o tipo de objetos em causa

Criado 22 de janeiro de 2007
Ultima resposta 25 de jan. de 2007
Respostas 3
Participantes 2