Leia em outro idioma: zh, ko, fr, tr, ar, es
Os padráes de projeto são um conjunto das melhores prÑticas e soluçáes formalizadas que um programador pode usar para resolver problemas comuns ao projetar um aplicativo ou sistema.
Os padrΓ΅es de projeto podem acelerar o processo de desenvolvimento, fornecendo testes e comprovados paradigmas de desenvolvimento.
Reutilizar padrΓ΅es de projeto ajuda a evitar problemas sutis que causam problemas, e tambΓ©m melhora a legibilidade do cΓ³digo para desenvolvedores e arquitetos que estΓ£o familiarizados com os padrΓ΅es.
Este site apresenta padrΓ΅es de projeto Java. As soluçáes foram desenvolvidas por programadores e arquitetos experientes da comunidade de cΓ³digo aberto. Os padrΓ΅es podem ser acessados por meio de suas descriçáes de alto nΓvel ou por meio de seu CΓ³digo fonte. Os exemplos de cΓ³digo-fonte sΓ£o bem comentados e podem ser considerados como tutoriais de programação sobre como implementar um padrΓ£o especΓfico. NΓ³s usamos as mais populares tecnologias Java de cΓ³digo aberto comprovadas em batalhas.
Antes de mergulhar no material, vocΓͺ deve estar familiarizado com vΓ‘rios PrincΓpios de design de software.
Todos os projetos devem ser o mais simples possΓvel. VocΓͺ deve comeΓ§ar com KISS, YAGNI, e fazer a coisa mais simples que poderia funcionar com os princΓpios. Complexidade e os padrΓ΅es sΓ³ devem ser introduzidos quando sΓ£o necessΓ‘rios para fins prΓ‘ticos e extensibilidade.
Assim que estiver familiarizado com esses conceitos, vocΓͺ pode comeΓ§ar a se aprofundar nos padrΓ΅es de projeto disponΓveis por qualquer das seguintes abordagens
- Pesquise um padrΓ£o especΓfico por nome. NΓ£o consegue encontrar um? Informe um novo padrΓ£o aqui.
- Usando tags como
Performance
,Gang of Four
ouAcesso de dados
. - Usando categorias de padrΓ΅es,
Criacional
,Comportamental
e outros.
Esperamos que vocΓͺ encontre as soluçáes orientadas a objetos apresentadas neste site ΓΊteis em suas arquiteturas e divirta-se as aprendendo tanto quanto nos divertimos ao desenvolvΓͺ-las.
Se vocΓͺ estiver disposto a contribuir para o projeto, vocΓͺ encontrarΓ‘ as informaçáes mais relevantes em nossa wiki do desenvolvedor. Ajudaremos vocΓͺ e responderemos as suas perguntas na sala de bate-papo do Gitter.
Este projeto estÑ licenciado sob os termos da licença MIT.