3.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, localeTitle
| 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