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:
- Os padrões de design de Kamran Ahmed para humanos é uma excelente introdução aos padrões específicos
- Design Patterns é o livro que iniciou esta prática
- Os Padrões de Arquitetura de Aplicativos Corporativos de Martin Fowler fornecem um conjunto de padrões mais sofisticados para aplicativos corporativos
- O Sourcemaking fornece um recurso online com exemplos adicionais e informações sobre padrões de design