Padrões de Software

java-design-patterns.jpg

Os chamados Padrões de Projeto de Software são simplesmente técnicas aplicadas no desenvolvimento de sistemas visando simplificar a escrita e organização de código, facilitando a compreensão dos problemas resolvidos e futuras alterações.

“Mais importante do que entender como é a implementação de um padrão de projeto, é entender a sua motivação: em quais casos faz sentido e deve ser aplicado.” (ANICHE)

Estudando pelo curso Design Patterns Java: Boas práticas de programação na plataforma online de ensino Alura, as seguinte questões foram feitas ao final:

Usar padrões 100% do tempo é o ideal? Quais são as vantagens e desvantagens?

designpatterns-720x340

Na minha opinião, conhecer as soluções recorrentes é necessário para ajudar na análise e decidir se deve ser aplicada no contexto do problema: linguagem de programação; arquitetura utilizada; conhecimento dos desenvolvedores; facilidade de manutenção, etc. Ou seja, é uma grande vantagem aplicar soluções comprovadamente úteis principalmente no desenvolvimento orientado a objetos.

Porém utilizar padrões nem sempre facilitarão a solução podendo forçar uma implementação mais complexa do que o necessário, adicionando: classes; interfaces e métodos diversos; com pouca reusabilidade e funcionalidade real. Ás vezes, um simples condicional, enumeration ou constante faz o código mais legível e efetivo.

Segundo Guerra no livro Design Patterns com Java,  a modelagem de uma aplicação é uma questão dinâmica que evolui a medida que o desenvolvimento do software acontece. Apesar da modelagem das classes da aplicação a partir de diagramas acontecer antes do inicio das implementações, muitas vezes os problemas aparecem somente depois. Sendo assim, tão importante quanto saber como utilizar os padrões na modelagem inicial, é saber como refatorar um código existente para uma solução que utilize um determinado padrão.

“A refatoração constante do código é hoje uma das bases para a manutenção de sua qualidade ao longo do projeto.” (GUERRA, 2013)

Os padrões fornecem a flexibilidade necessária para refatorações futuas, porém em um problema simples de resolver, talvez o uso não faça sentido; o código vai apenas ficar mais complicado. Segundo Aniche, padrões de projeto são mais uma ferramenta que devem ser um meio para se chegar à solução, e não o objetivo principal.

Finalizando, recomendo o Leonardo Leitãofilosofando sobre padrões” no vídeo abaixo.

Referências e Links

ANICHE, Maurício. Design Patterns Java I: Boas práticas de programação. Curso online na plataforma Alura. Disponível em: https://www.alura.com.br/curso-online-design-patterns.

GUERRA, Eduardo. Design Patterns com Java: Projeto orientado a objetos guiado por padrões. Disponível em: https://www.casadocodigo.com.br/products/livro-design-patterns.

LEITÃO, Leonardo. Padrões de Projeto. Curso online na plataforma COD3R. Disponível em: http://www.cod3r.com.br/portal/courses/padr%C3%B5es-de-projeto-14.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s