Por que eu devo ler este artigo:Neste artigo mostraremos de forma detalhada dois dos vinte e três padrões de projeto catalogados pela Gangue dos Quatro: Singleton e Abstract Factory.

Abordaremos cada um dos vários elementos que caracterizam um design pattern e, por fim, apresentaremos uma situação onde o uso do padrão seria aplicável. Sendo assim, o conteúdo aqui analisado é útil para desenvolvedores e arquitetos que precisam dominar soluções simples e consagradas com o objetivo de poder reutilizá-las em problemas específicos de projetos de software orientados a objetos.

Padrão, no contexto geral, pode ser considerado como um modelo a ser seguido, um exemplo a ser copiado. Os roteiristas de cinema, na elaboração de suas obras, costumam utilizar alguns padrões.

Basicamente, o roteiro deve apresentar três elementos: a descrição das cenas, a sequência das ações e as falas dos personagens. Esses elementos ajudam a direcionar o caminho que o roteirista deve seguir até a obtenção do resultado final do trabalho.

No universo de projetos isso também ocorre. Existem alguns modelos que ajudam a nortear o caminho de um desenvolvedor de software diante de determinados problemas conhecidos para os quais soluções de sucesso foram implementadas e compartilhadas.

Assim como os roteiristas possuem elementos os quais empregam em suas produções, os desenvolvedores também podem seguir caminhos que podem os ajudar na construção de seus sistemas.

No universo do desenvolvimento de software, os padrões ganharam relevância após a publicação do livro Design Patterns: Elements of Reusable Object-Oriented Software, em 1995.

Neste livro foram catalogados e descritos vinte e três padrões para odesenvolvimento de software orientado a objetos. Seus autores, Erich Gamma, Richard Helm,Ralph Johnson e John Vlissides, ficaram conhecidos como a Gangue dos Quatro (Gang of Four),ou mesmo GoF.A partir da divulgação deste trabalho, despertou-se o interesse de estudiosos e profissionais de tecnologia pelo assunto, criando-se assim um vocabulário comum na temática de projetos de software.

A principal vantagem do uso de padrões de projeto está no reuso das soluções propostas para determinado problema. Segundo GAMMA [1], “padrões resolvem problemas específicos de projetos e tornam os projetos orientados a objetos mais flexíveis e, em última instância, reutilizáveis.

Eles ajudam projetistas a reutilizar projetos bem-sucedidos ao basear os novos projetos nas experiências anteriores. Um projetista que está familiarizado com tais padrões pode aplicá-los imediatamente a problemas de projeto, sem necessidade de redescobri-los”.

Além disto, podemos destacar a facilidade que eles proporcionam na manutenção dos sistemas, já que um padrão representa uma unidade de conhecimento comum entre os envolvidos.

A utilização de alguns padrões, apesar de ser benéfica na maioria dos casos, requer cuidados, pois pode tornar o código maior e mais complexo. Portanto, é necessário conhecer bem os padrões de projeto e realmente entendê-los para identificar em quais situações é possível empregá-los de forma positiva.

Neste artigo abordaremos, na teoria e na prática, dois padrões de projeto catalogados pela Gangue dos Quatro: Singleton e Abstract Factory.

Esses padrões se encaixam na categoria criação. O objetivo dos padrões deste grupo é criar objetos das formas mais adequadas possíveis. Além dos padrões criacionais, temos também os padrões estruturais, que abordam o modo pelo qual as classes devem se organizar, e os comportamentais, que tratam das interações e divisões de responsabilidades entre as classes.

Características de um padrão de projeto

Embora um padrão seja a descrição de um problema, de uma solução genérica e sua justificativa, isso não significa que qualquer solução conhecida para um problema possa constituir um padrão, pois existem características obrigatórias que devem ser atendidas pelos padrões [1].

...
Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo