Padrão de design - Design pattern

Um padrão de design é a forma reutilizável de uma solução para um problema de design. A ideia foi apresentada pelo arquiteto Christopher Alexander e foi adaptada para várias outras disciplinas, notadamente a engenharia de software .

Detalhes

Uma coleção organizada de padrões de projeto relacionados a um determinado campo é chamada de linguagem de padrões . Essa linguagem fornece uma terminologia comum para discutir as situações que os designers enfrentam.

Os elementos dessa linguagem são entidades chamadas padrões. Cada padrão descreve um problema que ocorre repetidamente em nosso ambiente e, em seguida, descreve o núcleo da solução para esse problema, de forma que você possa usar essa solução um milhão de vezes, sem nunca fazer da mesma forma duas vezes .

-  Christopher Alexander, A Pattern Language

A documentação de um padrão requer a explicação de por que uma determinada situação causa problemas e como os componentes do padrão se relacionam entre si para fornecer a solução. Christopher Alexander descreve os problemas comuns de design como decorrentes de "forças conflitantes" - como o conflito entre querer que um quarto seja ensolarado e não superaquecer nas tardes de verão. Um padrão não diria ao designer quantas janelas colocar na sala; em vez disso, ele proporia um conjunto de valores para guiar o designer em direção a uma decisão que seja melhor para sua aplicação específica. Alexander, por exemplo, sugere que janelas suficientes sejam incluídas para direcionar a luz ao redor da sala. Ele considera esta uma boa solução porque acredita que aumenta a diversão da sala por seus ocupantes. Outros autores podem chegar a conclusões diferentes, se eles valorizam mais os custos de aquecimento ou custos de material. Esses valores, usados ​​pelo autor do padrão para determinar qual solução é a "melhor", também devem ser documentados dentro do padrão.

A documentação do padrão também deve explicar quando é aplicável. Como duas casas podem ser muito diferentes uma da outra, um padrão de projeto para casas deve ser amplo o suficiente para se aplicar a ambas, mas não tão vago que não ajude o projetista a tomar decisões. A gama de situações em que um padrão pode ser usado é chamada de contexto. Alguns exemplos podem ser "todas as casas", "todas as casas de dois andares" ou "todos os lugares onde as pessoas passam o tempo".

Por exemplo, no trabalho de Christopher Alexander, paradas de ônibus e salas de espera em um centro cirúrgico estão dentro do contexto do padrão "UM LUGAR PARA ESPERAR".

Exemplos

Os modelos de negócios também possuem padrões de design. Consulte Modelo de negócios § Exemplos .

Veja também

Referências

Leitura adicional

  • Erl, Thomas (2009). Padrões de projeto SOA . Série de computação orientada a serviços Prentice Hall de Thomas Erl. Upper Saddle River, NJ: Prentice Hall . ISBN 978-0-13-613516-6. OCLC  156832597 .
  • Leitner, Helmut (2015). Teoria dos Padrões: Introdução e Perspectivas nas Trilhas de Christopher Alexander . Série de pesquisa de padrões. 1 . Graz: Helmut Leitner, HLS Software. ISBN 978-1-5056-3743-4. OCLC  913795677 .
  • Pree, Wolfgang (1995). Padrões de projeto para desenvolvimento de software orientado a objetos . Livros da ACM Press. Wokingham, Inglaterra; Reading, Mass .: Addison-Wesley . ISBN 0201422948. OCLC  31291883 .
  • Schmidt, Douglas C .; Buschmann, Frank ; Henney, Kevlin (2007). Arquitetura de software orientada a padrões: sobre padrões e linguagens de padrões . Série Wiley em padrões de design de software. 5 . Chichester, Reino Unido; Nova York: Wiley . ISBN 9780471486480. OCLC  62532759 .
  • Tidwell, Jenifer; Brewer, Charles; Valencia, Aynne (2020) [2005]. Projetando Interfaces: Padrões para um Design de Interação Eficaz (3ª ed.). Sebastopol, CA: O'Reilly . ISBN 9781492051961. OCLC  1138701080 . Apresenta soluções para problemas comuns de design de IU como uma coleção de padrões - cada um contendo exemplos concretos, recomendações e avisos.