Playlist do Curso de Padrão de Projeto de Software (Design Patterns)
Padrão de projeto de software
Vamos falar sobre os padrões de projetos de softwares (design patterns), conceito e tipos.
Em Engenharia de Software, um padrão de desenho (pt) ou padrão de projeto (pt-BR) (do inglês design pattern) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Um padrão de projeto não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. Padrões são melhores práticas formalizadas que o programador pode usar para resolver problemas comuns quando projetar uma aplicação ou sistema. Padrões de projeto orientados a objeto normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas. Padrões que implicam orientação a objetos ou estado mutável mais geral, não são tão aplicáveis em linguagens de programação funcional.
Padrões de projeto residem no domínio de módulos e interconexões. Em um nível mais alto há padrões arquiteturais que são maiores em escopo, usualmente descrevendo um padrão global seguido por um sistema inteiro.[1]
As características obrigatórias que devem ser atendidas por um padrão de projeto é composto basicamente por 4 (quatro) elementos que são:
Nome do padrão;
Problema a ser resolvido;
Solução dada pelo padrão; e
Consequências.
Os padrões de projeto:
visam facilitar a reutilização de soluções de desenho – isto é, soluções na fase de projeto do software – e
estabelecem um vocabulário comum de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software.