Factories

Quarta-feira, 25 dUTC Junho dUTC 2008

Vou começar escrevendo aqui sobre o conjunto de Design Patterns que mais tenho visto gerar confusão, não sei se isso é verdade para todos, mas aparentemente existem alguns ilustres desconhecidos que são o tempo todo citados e nunca compreendidos.

Em primeiro lugar não há um padrão Factory (ao menos não no livro Design Patterns), eles são dois, com objetivos distintos. São eles:

Factory Method:

Abstract Factory:

Como podemos ver os modelos estruturais são bastante distintos.

A idéia é mais ou menos a seguinte:

  • Com Factory Method, iremos preparar um cliente para gerar classes concretas que ele não tem conhecimento, ou seja iremos desacoplar a aplicação do conhecimento da classe concreta e deixaremos ele dependente apenas das abstrações, isso irá nos possibilitar escolher as concretizações em tempo de execução.
  • Com Abstract Factory, iremos fazer com que famílias de objetos sejam sempre instânciadas juntas, evitando erros de instanciação.

Além desses dois padrões posso citar a apresentação de Padrão Factory do livro Refatoração para Padrões, onde o autor Joshua Kerievsky, chama de Factory “qualquer classe que possua um método de criação, seja estático ou não”, isso significa que tanto Factory Method quanto Abstract Factory utilizam Factorys, mas lembrem-se que nem toda Factory é um desses dois padrões.

Nos próximos posts irei detalhar mais esses padrões e colocar alguns exemplos mais palpáveis.

Entry Filed under: Patterns. Tags: , .

1 Comment Add your own

  • 1. Edu Monesi  |  Quarta-feira, 25 dUTC Junho dUTC 2008 at 12:04

    Bom começo. Tenho no meu histórico longas discussões não só em relação a Factories, mas principalmente na diferença existente entre o que é uma Fábrica e o que é um Repositório.

    Acho que vale um exemplo prático de uma aplicação do conhecimento comum das pessoas (Espero não ver exemplos de sistemas de videolocadora !!! haha)

    Referências bibliográficas não são somente necessárias, como também devem ser de autores que sejam autoridades no assunto. (E lá vamos nós citar Fowler, GOF, Evans, Sommerville, Pressman, Booch, Jacobson, Rumbaugh, entre outras centenas deles !!)

    Responder

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


del.icio.us

Feeds

Categorias

Tags

Admin