Leia em diferentes idiomas: zh , ko , fr , tr , ar , es , pt , id , ru , de , ja , vi , bn , np , it , da
Os padrões de design são as melhores práticas formalizadas que um programador pode usar para resolver problemas comuns ao projetar um aplicativo ou sistema.
Os padrões de design podem acelerar o processo de desenvolvimento, fornecendo paradigmas de desenvolvimento testados e comprovados.
A reutilização de padrões de design ajuda a evitar problemas sutis que causam problemas graves e também melhora a legibilidade do código para programadores e arquitetos familiarizados com os padrões.
Este site apresenta padrões de design Java. As soluções foram desenvolvidas por programadores e arquitetos experientes da comunidade de código aberto. Os padrões podem ser navegados por suas descrições de alto nível ou observando seu código-fonte. Os exemplos de código-fonte são bem comentados e podem ser considerados tutoriais de programação sobre como implementar um padrão específico. Usamos as tecnologias Java de código aberto mais populares e comprovadas em batalha.
Antes de mergulhar no material, você deve estar familiarizado com vários Princípios de Design de Software.
Todos os designs devem ser tão simples quanto possível. Você deve começar com os princípios KISS, YAGNI e Faça a coisa mais simples que poderia funcionar. Complexidade e padrões só devem ser introduzidos quando forem necessários para extensibilidade prática.
Depois de estar familiarizado com esses conceitos, você pode começar a detalhar os padrões de design disponíveis por meio de qualquer uma das seguintes abordagens:
Performance
, Gang of Four
ou Data access
.Creational
, Behavioral
e outras.Esperançosamente, você achará as soluções orientadas a objetos apresentadas neste site úteis em suas arquiteturas e se divertirá tanto aprendendo-as quanto nós ao desenvolvê-las.
Se você estiver disposto a contribuir com o projeto, encontrará informações relevantes em nosso wiki do desenvolvedor. Iremos ajudá-lo e responder às suas perguntas na sala de chat do Gitter.
Os padrões de design agora estão disponíveis como um e-book. Saiba mais sobre "Padrões de design Java de código aberto" aqui: https://payhip.com/b/kcaF9
Os colaboradores do projeto podem obter o livro gratuitamente. Entre em contato com o mantenedor através da sala de bate-papo do Gitter ou e-mail (iluwatar (arroba) gmail (ponto) com). Envie uma mensagem contendo seu endereço de e-mail, nome de usuário do Github e um link para uma solicitação pull aceita.
Este projeto está licenciado sob os termos da licença do MIT.
Ilkka Seppälä ? ? ? | Subhrodip Mohanta ? ? | amit1307 | Narendra Pathai ? ? | Jeroen Meulemeester | Joseph McCarthy |
Tomás | Anurag Agarwal | Marcus Moser ? ? | Sabiq Ihab | Amit Dixit | Piyush Kailash Chaudhari |
joshzambales | Kamil Pietruszka | Zafar Khaydarov | Paulo Campbell | Argyro Sioziou | Tyler McConville |
saksham93 | nihilbarar | Colin Mas | Ruslan | Juho Kang | Dheeraj Mummareddy |
Bernardo Sulzbach | Aleksandar Dudukovic | Yusuf Aytas | Mihály Kuprivecz | Stanislav Kapinus | GVSharma |
Srđan Paunović | Petros G. Sideris | Pramod Gupta ? | Amarnath Chandana | Anurag870 | Wes Gilleland |
Harshraj Thakor | Martin Vandenbussche | Alexandru Somai | Artur Mogozov | Antônio | Christian Cygnus |
Dima Gubin | Josué Jiménez | Kai Inverno | lbroman | Przemek | Prafful Agarwal ? |
Sanket Panhale ? | staillebois | Krisztián Nagy | Alexandre Ivanov | Yosfik Alqadri | Agustí Becerra Milà |
Juan Manuel Suárez | Luigi Cortese | Katarzyna Rzepecka | adamski.pro | Shenglibai | Bóris |
Dmitri Avershin | 靳阳 | hoangnam2261 | Arpit Jain | Jon Ingi Sveinbjörnsson | Cirilo Vlasov |
Mitchell Irvin | Ranjeet | PhoenixYip | Saif Asif | kanwarpreet25 | Leon Mak |
Por Wramdemark | Evan Sia Wai Suan | AnaghaSasikumar | Christoffer Hamberg | Dominik Gruntz | Hannes |
Leo Gutiérrez Ramírez | Zhang W.H. | Christopher O'Connell | George Mavroeidis | Hemant Bothra ? | Kevin Peters |
George Aristy | Mahendran Mookkiah | Azureyjt | Gans | Matt ? | Gopinath Langote |
Hoswey | Amit Pandey | gwildor28 ? | 田浩 ? | Stamatis Pitsios | qza |
Rodolfo Forte ? | Ankur Kaushal | Ovidijus Okinskas | Robert Kasperczyk | Tapio Rautonen | Iuri Orlov |
Varun Upadhyay | Aditya Pal | grzesiekkedzior ? | Sivasuramani M | Sami Airaksinen | Janne Sinivirta |
Boris-Chengbiao Zhou ? | Jacob Hein ? | Ricardo Jones ? | Rachel M. Carmemá ? | Zaerald Denze Lungos ? | Lars Kappert ? |
Mike Liu ? | Matt Dolan ? | Manan ? | Nishant Arora | Peeyush | Rakesh ? |
Wei Seng | Ashish Trivedi | 洪月阳 | xdvrx1 ? ? | Bethan Palmer | Sonho Tóxico |
Edy Cu Tjong | Michał Krzywański | Stefan Birkner | Fyodor Skvorcov | SamilAyoub | Vladislav Golubinov |
Swaraj | Christoph Flick | Ascênio ? | Domenico Sibilio | Akash Chandwani ? | Pavlo Manannikov |
Eiman | Rochoso | Ibrahim ali Abdelghany ? | Girish Kulkarni | Omar Karazoun | Jeff Evans |
Vivek Singh | siavash | amendoim | warp125 ? | Khadir Tayeb ? | acender1771 |
Halil Demir ? | Rohit Singh | byoungju94 | Moustafa Farhat ? | Martel Ricardo | va1m |
Noam Greenshtain | Yonghong Xu | Jinishavora ? | Elvys Soares | zWeBrain | 余林颖 ? |
Alan ? | RV | Jackie Nim | Edison E3 | Tao | Juan Manuel Abate ? |
Xenilo137 | Samuel Sousa | Marlo Henrique ? | AndriyPyzh | karthikbhat13 | Morteza Adigozalpour |
Nagaraj Tantri | Francesco Scuccimarri | Conny Hansson | Muklas Rahmanto ? | Vadim ? | Simran Keshri |
JCarlos ? | Ali Ghasemi | Carl Dea | Mozarto ? | Manvi Goel | Anum Amin |
Reo Uehara ? | Fiorde | Harshal | Abhinav Vashisth | Kevin ? | Shrirang ? |
interagircomankush | CharlieYu | Leisterbecker | Dragão Sonhador | Shivansh Charak | HattoriHenzo |
Arnab Sen | Mohana Rao SV | Yonatan Karp-Rudin ? | Oliani | Renjie LIU | cara perfeito |
xylq999 | Mohammed Bilal | Karshil sheth | kongleong86 | Aitor Fidalgo Sánchez ? ? | Victor Ele |
Minh Nguyen ? | Victor Ele | yiichan | Pan Sem | Zhoumengyks | você ? |
Obrigado ? | Programador Preguiçoso | Mohammed Faizan Ahmed | Bruno Fernandes | Samman Pali | Qi Xiang Chen |
Shourya Manekar ? | Alan ? | Jan Fidor | Anton Yakutovich | steph88ss | Yujan Ranjitkar ? |
Yusha-g ? | Roberto Volkmann ? | Bipin Kumar Chaurasia | KyleSong30 | u7281975 | duraalkhachane |
Tejas Singh ? | Sudarsan Balaji | Vaibhav Agrawal | u7275858 | prasad-333 | JurenXu |
MurphyShaw | XianWu99 | JoshuaSinglaANU | Ricardo Ramos ? | Farid Zouheir ? | Vinícius AB ? |
Stefanel Stan | Príncipe Bhati ? | WuLang | Hugo Kat | Shivanagouda Agasimani | Aparna |
Girolamo Giordano ? | Chak-C | Nakul Nambiar | KarmaTashiCat ? | marikattt | Hashvardhan Parmar ? |
Yong Hwan ? | Shogo Hida ? | Eugênio | Piyush | Raul Raj | Bharat Kalyan S |
Saiteja Reddy ? | Enrique Clerici ? | Ramil Sayetov ? | 东方未白 | Fredrik Sejr ? | akshatarora0013 |
Mughees Qasim | fique feliz ? | Ayush Thakur ? | Antonio Bosch | trananso | Giammaria Biffi ? |
Saiful Haque | JabezBrew | Konstantin Goldman | Tien Nguyen Minh ? | Vladimir ? | Surjendu ? |
bakazhou | Owen Leung | Stavros Barousis | Syyed Ibrahim Abdullah ? | Jia Di Zhang ? | Sanchit Bansal |
MD Saiful Islã | Antonio Addeo | Allagadda Sai Upendranath | Matheus Braga ? | Appari Satya Barghav | Marcel Ribeiro-Dantas |
Muhammad Hanif Amrullah ? | MacacoH408 | Shubham ? | Nishant Jain | Rhitam Chaudhury | JerryZhao275 |
Leonardo Lisanti ? | Yennifer Herrera ? ? | jnniu-n ? | Miguel Ángel Perez Garcia ? ? | Suwan Sankaja ? | ok |
Daniel Lisboa ? | Sam Powell | João Fernandes ? | Hong Geon-ui ? | Doksanbir ? | Cantar3ll3 ? |
Yong Hwan Kwon | Jakub Klimek | acreditar ? | ovo0102030405 ? | Ved Asole | Nova manhã ? |
资深老萌新 ? | Seunghwan Jeon ? | Sugavanesh | FinnS-F | Jerry gostoso ? | Manoj Chowdary |
Aditya | nooynayr | CYBERCRUX2 | Luis Mateo Hincapié Martínez ? ? | Guqing | Sashir Estela |
ohs | leif e. | Jun Kang | Kishalay Pandey | drishti7 | David Medina Orozco ? ? |
Roman Leontev | Riley | k1w1dev | dev-yugantar | Adélia | gatlanagaprasanna |
Avinash Shukla | Mayank Choudhary | romances | Joel | Walyson Moisés | Xcyq |
Ritabrata ? | Trivikram Kamat | Vicente Vanghelle ? | Antoine Héritier ? | QinShower ? | Lakshya Punyani-01 |
Jason Jyu | jeffmorrison | David M. | Patrick Kleindienst | Juyeon ? | Mammad Yahyayev |
Salma | Arpit Sarang | Maia ? |