freeCodeCamp/guide/portuguese/software-engineering/design-patterns/index.md

3.6 KiB

title localeTitle
Design Patterns Padrões de design

Padrões de design

Programadores e arquitetos de software usam padrões de projeto para resolver problemas comuns e recorrentes na arquitetura de software. Os padrões fornecem uma abordagem agnóstica de linguagem para programação orientada a objetos que ajuda os desenvolvedores a seguir os princípios de um bom design de aplicativo.

Por que padrões de design?

O desenvolvimento de padrões de design oferece várias vantagens:

  • É mais fácil seguir bons princípios de programação, como os princípios do SOLID .
  • Ele mantém pedaços de código menores, então o código é mais fácil de testar e depurar
  • Ele ajuda a manter o código fracamente acoplado, para que o código seja mais fácil de reutilizar e atualizar para novos aplicativos
  • Torna o código mais fácil de entender , por isso os novos contribuidores podem aumentar rapidamente

Usar padrões de design incorre em alguns trade-offs e desenvolvedores novatos na prática devem lembrar-se do seguinte:

  • Não há balas de prata na programação e os padrões de design não são uma exceção
  • Padrões de design adicionam uma camada de abstração ao código, o que aumenta o esforço inicial de design e desenvolvimento
  • O uso excessivo de padrões de design ou a necessidade de ajustá-los torna o código mais difícil de entender

Suporte de linguas

Padrões de design originados do mundo de linguagens estaticamente tipadas como C ++, Java e C #. A maioria dos recursos sobre desenvolvimento por padrão de design é baseada em um desses idiomas.

No entanto, os padrões de design são apenas isso: padrões. Eles não são implementações , como classes ou interfaces, e não são restritos a nenhum idioma .

Ao aprender padrões de design dentro de uma linguagem dinâmica, se padrões particulares parecerem desnecessariamente complexos ou contra-intuitivos, lembre-se de suas origens. Os desenvolvedores em linguagens dinâmicas ainda podem usar e se beneficiar dos padrões de design, embora mais pesquisas possam ser necessárias para compreendê-los completamente.

Usos

Padrões de design são excelentes para resolver problemas de codificação fundacional de forma simples e repetitiva. Em geral, eles se enquadram em três categorias:

  • Padrões criativos descrevem como criar novos objetos
  • Padrões estruturais descrevem como compor objetos de outros objetos
  • Padrões comportamentais descrevem como os objetos se comunicam entre si

Todas essas tarefas podem ser executadas sem padrões de design, mas os padrões de design reduzem o risco de violar boas práticas e criar códigos de difícil manutenção.

Mais Informações: