Projetos

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (649 palavras )
  • Download(s) : 0
  • Publicado : 20 de março de 2013
Ler documento completo
Amostra do texto
Factory Method
Padrões Criacionais ! Todos os padrões criacionais (Creational) lidam com a melhor forma de se criar instâncias dos objetos. Isto é importante porque seu programa não deveria dependerde como os objetos são criados e arranjados. Em Java, a maneira mais simples de se criar um objeto é se usando o operador new. ! Classe objeto = new Classe( );  

! No entanto, isto torna a criaçãode objetos no seu programa pouco flexível. Em muitos casos, a natureza dos objetos que são criados podem variar conforme as necessidades do programa. ! A abstração do processo de criação de objetospara uma classe especial de "criação" pode fazer seu programa ser mais flexível e geral. ! O catálogo da GoF apresenta o seguinte padrão de criação: Factory Method - este provê uma classe de decisão queretorna uma das muitas possíveis subclasses de uma classe base abstrata, dependendo do dado fornecido. Factory Method ! Este padrão é muito utilizado nos programas orientados a objetos. O padrãoFactory Method é caracterizado por retornar uma instância dentre as muitas possíveis classes, dependendo dos dados providos a ele. Geralmente, todas as classes que ele retorna têm uma classe pai e métodosem comum, mas cada um executa tarefas diferentes e é otimizado para diferentes tipos de dados. Para entender como o padrão Factory funciona, vamos dar uma olhada no diagrama e exemplo abaixo.

! !No diagrama apresentado acima, Carro é a classe base (pai) e as classes Vectra, Omega, Gol e Golf derivam dela (filhas). A classe CarroFactory é a classe Factory que decide qual das subclasses retornar,dependendo dos argumentos que você passar ao método factory dela. Nós definimos o método getCarro(), como o método factory que recebe um parâmetro (tipo) e retorna uma instância da classe Carro,representado no diagrama por :carro. ! Qual instância da classe ele retorna, não importa ao programador, desde que todas elas tenham os mesmos métodos, mas diferentes implementações.

! Qual instância...
tracking img