Dah uma olhada nesse exemplo ai, eh simples, mas eh um factory:
class Botao {
}
class BotaoWindows extends Botao {
}
class BotaoMac extends Botao {
}
class BotaoFactory {
private static final int WINDOWS = 1;
private static final int MAC = 2;
static public Botao getBotao(int tipo) {
switch(tipo) {
case BotaoFactory.WINDOWS: return new BotaoWindows();
case BotaoFactory.MAC: return new BotaoMac();
}
}
}
Utiliza��o:
Botao bt = BotaoFactory.getBotao(BotaoFactory.WINDOWS);
Essa �ltima linha poderia ser melhor utilizada se voc� passar para BotaoFactory.getBotao() um par�metro da aplica��o, que define a apar�ncia da mesma, ou o sistema operacional onde ela est� rodando.
Um bom exemplo de factory eh a pattern DAO (http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html).
Eh isso ai!
Rafael Leite
Analista de Sistemas - SAFF
Softplan/Poligraph
Sistema da Qualidade Certificado - ISO 9001 - BVQI - INMETRO
Fone/Fax: 0xx(48) 3027-8000
http://www.softplan.com.br
At 17:20 22/01/2003 -0200, you wrote:
paulo,
vc (ou algu�m...) poderia dar um exemplo de como construir esse factory de botoes?
obrigado,
luis antonio
-----Original Message-----
From: Paulo Silveira [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 22, 2003 1:25 PM
To: [EMAIL PROTECTED]
Subject: Re: [enterprise-list] O que i um Factory?
Ola Daniel
A principal funcionalidade eh delegar a decisao do que voce quer construir para uma classe. tem aquele exemplo
classico de botoes: voce quer criar u botao, mas nao sabe se eh pra windows, mac, etc. entao se voce escrever
Button b = new WindowsButton(); por todo codigo, vai ter de trocar isso tudo em todo lugar quando for mudar
pra mac
A ideia do factory, voce estaria fazendo essa decisao em um unico ponto, pondedo mudar essa decisao ateh
mesmo em runtime, sem necessidade de recompilacao e nem mesmo de parar a execucao.
falou
======================
Paulo Eduardo Azevedo Silveira
Grupo de Usu�rios Java
http://www.guj.com.br/
On Tue, 21 Jan 2003 00:11:12 -0200, Daniel C�cero Amadei <[EMAIL PROTECTED]> escreveu :
> De: Daniel C�cero Amadei <[EMAIL PROTECTED]>
> Data: Tue, 21 Jan 2003 00:11:12 -0200
> Para: [EMAIL PROTECTED]
> Assunto: [enterprise-list] O que � um Factory?
>
> Pessoal,
>
> Qual a principal finalidade de um factory?
>
> []'s
> Daniel C. Amadei
> Sun Certified Java Programmer - Platforms 1.2 & 1.4
>
> _________________________________________________________________
> MSN Messenger: converse com os seus amigos online.
> http://messenger.msn.com.br
>
>
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
>
>
>
>
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
--------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
