Afinal, o que são os design patterns?

Design patterns, ou padrões de desenvolvimento de sistemas, são modelos de como um sistema poderá ser desenvolvido para atender uma solução e também para garantir a sua segurança. Modelos de desenvolvimento estão sendo cada dia mais utilizados, pois organizam as classes e objetos em pacotes diferentes (camada de dados, regras de negócio, telas) e, devido a grande variedade de categorias de sistemas, existe diversos modelos à serem utilizados.

Imagem via Shutterstock

Imagem via Shutterstock

Mas por que utilizar esses padrões?

Para isso, primeiro é necessário entender a origem desse conceito. Christopher Alexander, austríaco nascido na cidade de Viena e um famoso profissional na área de arquitetura e matemática, criou esse conceito observando a área de arquitetura, com o seguinte pensamento:

Os elementos desta linguagem são entidades aqui chamadas de padrões. Cada padrão descreve um problema que ocorre repetidamente em nosso ambiente, e então descrevemos a essência da solução deste problema de forma que você possa utilizar um milhão de vezes sem ter que fazer duas vezes o mesmo caminho.

Interpretando esse pensamento, é possível observar que, para cada problema existe um tipo de solução padronizada, um caminho lógico a ser seguido até o problema ser resolvido. Por exemplo, se você não conseguir ligar o seu carro, primeiro observa se a bateria tem carga, depois se os cabos estão conectados na bateria, o nível de combustível e assim por diante. O mesmo acontece em desenvolvimento de software, onde a partir da solicitação de um cliente é possível definir um padrão de projeto à ser utilizado. Caso for desenvolvido um sistema bancário, o padrão mais recomendado é o A; caso for um sistema de gerenciamento de chamados, é mais recomendado o padrão B.

Atualmente existem muitos padrões de projetos, mas os mais utilizados são os definidos pela Gang-Of-Four (GOF), composta por Erich Gamma, Ralph Johnson, Richard Helm e John Vlissides. No livro “Design Patterns: Elements of Reusable Object-Oriented Software“, publicado originalmente em 21 de outubro de 1994, eles citaram 23 padrões, separados nas camadas Comportamental, Criação e Estrutural. Esses padrões são os que deram origem a muitos outros e que possivelmente darão origem aos possíveis futuros padrões, pois neles estão adaptados vários conceitos que fazem parte do desenvolvimento de software em várias linguagens.

Padrões de criação

Esse padrão é responsável por abstrair a construção dos objetos, permitindo a flexibilidade através da herança de classes.

Padrões estruturais

Neste padrão, o objetivo é realizar o relacionamento entre as entidades para facilitar o design do sistema/aplicação.

Padrões comportamentais

Esse padrão tem como principal responsabilidade facilitar a comunicação entre os objetos.

Com a teoria explicada, aguarde o próximo post para conhecer alguns padrões de projeto e quais as suas principais características.

Bruno Destro

Mais artigos deste autor »

Formado em Análise e Desenvolvimento de Sistemas, sou desenvolvedor web com mais de cinco anos de experiência, com participação em projetos para a área de tecnologia e automobilística.


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!