3.1 Abstract Factory

Nos padrões GoF podemos encontrar dois padrões para criação de instâncias de classes:

São padrões para se permitir um baixo acoplamento entre classes e o código fonte responsável por criação de instâncias destas classes.

O padrão Abstract Factory especifica como providenciar uma interface para criação de uma família de objetos relacionados sem especificar sua classe concreta.

Para que usar isto? Digamos que vamos fazer um sistema Desktop que possui formulários. Gostaríamos que o código deste sistema suportasse diferentes layouts de tela (Motif, Windows etc.). Para se criar uma tela em um layout, talvez o código de criação de formulário seja diferente do código de criação do mesmo formulário em outro layout. Para separar este código de criação de formulário relativo à arquitetura de cada layout, podemos utilizar uma interface genérica de criação (factory), que isola o código.

Assim, ao invés de chamarmos o construtor de um formulário num dado layout com new, usamos um método factory.

Copyright © 2014 AIEC.