Design Patterns na Prática – Parte II: Abstract Factory

Continuando a nossa série, apresento-lhes mais um padrão de projeto criacional: Abstract Factory.
Temos a seguinte situação:
Um banco possui dois tipos de contas:
  • Corrente
  • Poupança
Cada uma delas pode ser categorizada como:
  • Simples
  • Normal
  • Plus
Cada uma dessas características possuem as suas vantagens particulares. Como aplicar um padrão de projeto criacional nesses objetos de maneira a ter-se menos impacto ao inserir-se um tipo de conta nova ou mais características das contas?
Resposta:  Abstract Factory!
 Temos então 3 tipos de fábrica de contas poupança ou corrente de acordo com o tipo necessário, são elas: TipoSimples, TipoNormal e TipoPlus. Todas essas fábricas concretas são representadas pela Fábrica Abstrata TipoConta, que é quem define os métodos de criação, ou seja, qualquer que seja a nova fábrica a ser criada para contas, ela deve ser capaz de criar os novos tipos de conta de acordo com o proposto por essa abstração. Assim definimos o processo de criaçõ totalmente flexível: não precisamos mudar nenhum código existente para criarmos mais um tipo de conta!
Concluindo, apresento-lhes a ficha resumida deste padrão:  
Objetivo:
  • Fornecer uma interface a ser utilizada para criar famílias de objetos relacionados ou dependentes sem realmente especificar suas classes concretas.
Benefícios: 
  • Isola o cliente das classes concretas(da implementação). Facilita a troca de famílias de objetos;
  • Promove a consistência entre objetos.
Aplicabilidade:
  • O sistema precisa ser independente da maneira como seus objetos são criados, compostos e representados;
  • O sistema precisa ser configurado com um objeto de uma família de vários objetos;
  • A família de objetos relacionados é concebida para ser utilizada em conjunto e essa restrição precisa ser imposta;
  • Deseja-se fornecer uma biblioteca de objetos que não mostre as implementações e somente revele as interfaces. 
  •  

    Então é isto galera! Qualquer dúvida, é só deixar o seu comentário que tentarei ajudar o mais rápido possível! 😉
    Um abraço a todos e até o próximo post!
    .
    Design Patterns na Prática – Parte II: Abstract Factory

    2 thoughts on “Design Patterns na Prática – Parte II: Abstract Factory

    • 27 de maio de 2010 at 11:11
      Permalink

      Olá Eduardo, muito bacana seus artigos! Vou visitar sempre o teu blog. Acabei de criar um blog abordando este assunto também, e pretendo colocar um exemplo detalhado em java de cada um dos 23 GoF Patterns em http://marconems.blogspot.com/

      Se tiver alguma sugestão será sempre bem-vinda. Estarei esperando seu próximo post. Abraço.

    • 27 de maio de 2010 at 12:45
      Permalink

      Olá Marcone, obrigado por seguir o meu blog! Espero que aproveite os outros posts também! Muito legal a sua idéia em abordar os 23 padrões, será muito útil como um guia de consulta ao desenvolvedor O.O.

      Caso você tenha alguma idéia sobre algum outro post relacionado a Engenharia de Software em geral, fique à vontade para sugerir também!

      Abraço!

    Deixe uma resposta

    O seu endereço de e-mail não será publicado.