In verschiedenen Sprachen lesen: zh , ko , fr , tr , ar , es , pt , id , ru , de , ja , vi , bn , np , it , da
Entwurfsmuster sind die besten formalisierten Methoden, mit denen ein Programmierer häufig auftretende Probleme beim Entwurf einer Anwendung oder eines Systems lösen kann.
Entwurfsmuster können den Entwicklungsprozess beschleunigen, indem sie getestete, bewährte Entwicklungsparadigmen bereitstellen.
Die Wiederverwendung von Entwurfsmustern trägt dazu bei, subtile Probleme zu vermeiden, die größere Probleme verursachen, und verbessert außerdem die Lesbarkeit des Codes für Programmierer und Architekten, die mit den Mustern vertraut sind.
Auf dieser Website werden Java Design Patterns vorgestellt. Die Lösungen wurden von erfahrenen Programmierern und Architekten aus der Open-Source-Community entwickelt. Die Muster können anhand ihrer allgemeinen Beschreibungen oder anhand ihres Quellcodes durchsucht werden. Die Quellcode-Beispiele sind gut kommentiert und können als Programmier-Tutorials zur Implementierung eines bestimmten Musters betrachtet werden. Wir verwenden die beliebtesten, kampferprobten Open-Source-Java-Technologien.
Bevor Sie sich mit dem Material befassen, sollten Sie mit verschiedenen Software-Designprinzipien vertraut sein.
Alle Designs sollten so einfach wie möglich sein. Sie sollten mit den Prinzipien „KISS“, „YAGNI“ und „Do The Simplest Thing That Could Possably Work“ beginnen. Komplexität und Muster sollten nur dann eingeführt werden, wenn sie für die praktische Erweiterbarkeit erforderlich sind.
Sobald Sie mit diesen Konzepten vertraut sind, können Sie mit einem der folgenden Ansätze tiefer in die verfügbaren Entwurfsmuster eintauchen:
Performance
, Gang of Four
oder Data access
.Creational
, Behavioral
und anderen.Wir hoffen, dass Sie die auf dieser Website vorgestellten objektorientierten Lösungen für Ihre Architekturen nützlich finden und genauso viel Spaß beim Erlernen haben wie wir bei der Entwicklung.
Wenn Sie bereit sind, einen Beitrag zum Projekt zu leisten, finden Sie die entsprechenden Informationen in unserem Entwickler-Wiki. Wir helfen Ihnen und beantworten Ihre Fragen im Gitter-Chatroom.
Die Designmuster sind jetzt als E-Book erhältlich. Erfahren Sie hier mehr über „Open Source Java Design Patterns“: https://payhip.com/b/kcaF9
Die Projektmitarbeiter können das Buch kostenlos erhalten. Kontaktieren Sie den Betreuer über den Gitter-Chatroom oder per E-Mail (iluwatar (at) gmail (dot) com). Senden Sie eine Nachricht, die Ihre E-Mail-Adresse, Ihren Github-Benutzernamen und einen Link zu einer akzeptierten Pull-Anfrage enthält.
Dieses Projekt ist unter den Bedingungen der MIT-Lizenz lizenziert.
Ilkka Seppälä ? ? ? | Subhrodip Mohanta ? ? | amit1307 | Narendra Pathai ? ? | Jeroen Meulemeester | Joseph McCarthy |
Thomas | Anurag Agarwal | Markus Moser ? ? | Sabiq Ihab | Amit Dixit | Piyush Kailash Chaudhari |
Joshzambales | Kamil Pietruszka | Zafar Khaydarov | Paul Campbell | Argyro Sioziou | TylerMcConville |
saksham93 | nikhilbarar | Colin Aber | 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 | Anthony | Christian Cygnus |
Dima Gubin | Joshua Jimenez | Kai Winter | lbroman | Przemek | Prafful Agarwal ? |
Sanket Panhale ? | Stillebois | Krisztián Nagy | Alexander Iwanow | Yosfik Alqadri | Agustí Becerra Milà |
Juan Manuel Suárez | Luigi Cortese | Katarzyna Rzepecka | adamski.pro | Shengli Bai | Boris |
Dmitri Awerschin | 靳阳 | hoangnam2261 | Arpit Jain | Jón Ingi Sveinbjörnsson | Kirill Wlassow |
Mitchell Irvin | Ranjeet | PhoenixYip | M Saif Asif | kanwarpreet25 | Leon Mak |
Per Wramdemark | Evan Sia Wai Suan | AnaghaSasikumar | Christoffer Hamberg | Dominik Gruntz | Hannes |
Leo Gutiérrez Ramírez | Zhang WH | 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 | Juri Orlow |
Varun Upadhyay | Aditya Kumpel | grzesiekkedzior ? | Sivasubramani M | Sami Airaksinen | Janne Sinivirta |
Boris-Chengbiao Zhou ? | Jacob Hein ? | Richard Jones ? | Rachel M. Carmena ? | Zaerald Denze Lungos ? | Lars Kappert ? |
Mike Liu ? | Matt Dolan ? | Manan ? | Nishant Arora | Peeyush | Rakesh ? |
Wei Seng | Ashish Trivedi | 洪月阳 | xdvrx1 ? ? | Bethan Palmer | Giftige Dreamz |
Edy Cu Tjong | Michał Krzywański | Stefan Birkner | Fedor Skvorcov | samilAyoub | Wladislaw Golubinow |
Swaraj | Christoph Flick | Aufstieg ? | Domenico Sibilio | Akash Chandwani ? | Pawlo Manannikow |
Eiman | Felsig | Ibrahim Ali Abdelghany ? | Girish Kulkarni | Omar Karazoun | Jeff Evans |
Vivek Singh | Siawasch | Ruchpeanuts | warp125 ? | KHADIR Tayeb ? | entzünden1771 |
Halil Demir ? | Rohit Singh | byoungju94 | Moustafa Farhat ? | Martel Richard | va1m |
Noam Greenshtain | Yonghong Xu | Jinishavora ? | Elvys Soares | zWeBrain | 余林颖 ? |
Alain ? | VR | JackieNim | EdisonE3 | Tao | Juan Manuel Abate ? |
Xenilo137 | Samuel Souza | Marlo Henrique ? | AndriyPyzh | karthikbhat13 | Morteza Adigozalpour |
Nagaraj Tantri | Francesco Scuccimarri | Conny Hansson | Muklas Rahmanto ? | Vadim ? | Simran Keshri |
JCarlos ? | Ali Ghasemi | Carl Dea | Mozartus ? | Manvi Goel | Anum Amin |
Reo Uehara ? | Fiordy | Harshal | Abhinav Vashisth | Kevin ? | Shrirang ? |
interagiere mitankush | CharlieYu | Leisterbecker | DragonDreamer | ShivanshCharak | HattoriHenzo |
Arnab Sen | MohanaRao SV | Yonatan Karp-Rudin ? | Oliani | Renjie LIU | perfekter Typ |
xyllq999 | Mohamed Bilal | Karshil Sheth | kongleong86 | Aitor Fidalgo Sánchez ? ? | Victor He |
Minh Nguyen ? | Victor He | Yiichan | Pan Sem | zhoumengyks | Du ? |
Danke ? | LazyProgrammer | Mohammed Faizan Ahmed | Bruno Fernandes | SammanPali | Qixiang Chen |
Shourya Manekar ? | Alan ? | JanFidor | Anton Jakutowitsch | steph88ss | Yujan Ranjitkar ? |
Yusha-g ? | Robert Volkmann ? | Bipin Kumar Chaurasia | KyleSong30 | u7281975 | Harshalkhachane |
Tejas Singh ? | Sudarsan Balaji | Vaibhav Agrawal | u7275858 | prasad-333 | JurenXu |
murphShaw | XianWu99 | JoshuaSinglaANU | Ricardo Ramos ? | Farid Zouheir ? | Vinícius AB ? |
Stefanel Stan | Prinz Bhati ? | WuLang | Hugo Kat | Shivanagouda Agasimani | Aparna |
Girolamo Giordano ? | Chak-C | Nakul Nambiar | KarmaTashiCat ? | marikatt | Hashvardhan Parmar ? |
YongHwan ? | Shogo Hida ? | Eugen | Piyush | Rahul Raj | Bharath Kalyan S |
Saiteja Reddy ? | Enrique Clerici ? | Ramil Sayetov ? | 东方未白 | Fredrik Sejr ? | akshatarora0013 |
Mughees Qasim | behappyleee ? | Ayush Thakur ? | Anthony Bosch | Trananso | Giammaria Biffi ? |
Saiful Haque | JabezBrew | Konstantin-Goldman | Tien Nguyen Minh ? | Wladimir ? | Surjendu ? |
Bakazhou | Owen Leung | Stavros Barousis | Syyed Ibrahim Abdullah ? | JiaDi Zhang ? | Sanchit Bansal |
Md Saiful Islam | Antonio Addeo | Allagadda Sai Upendranath | Matheus Braga ? | Appari Satya Barghav | Marcel Ribeiro-Dantas |
Muhammad Hanif Amrullah ? | JackH408 | Shubham ? | Nishant Jain | Rhitam Chaudhury | JerryZhao275 |
Leonardo Lisanti ? | Yennifer Herrera ? ? | jnniu-n ? | Miguel Angel Perez Garcia ? ? | Suwan Sankaja ? | Alok |
Daniel Lissabon ? | Sam Powell | João Fernandes ? | Hong Geon-ui ? | Doksanbir ? | Chant3ll3 ? |
YongHwan Kwon | Jakub Klimek | glauben ? | egg0102030405 ? | Ved Asole | Neuer Morgen ? |
资深老萌新 ? | Seunghwan Jeon ? | Sugavanesh | FinnS-F | jerryyummy ? | Manoj Chowdary |
Aditya | nooynayr | CYBERCRUX2 | Luis Mateo Hincapié Martinez ? ? | guqing | Sashir Estela |
Omas | leif e. | Jun Kang | Kishalay Pandey | drishtii7 | David Medina Orozco ? ? |
Roman Leontev | Riley | k1w1dev | dev-yugantar | Adelya | gatlanagaprasanna |
Avinash Shukla | Mayank Choudhary | Romannimets | Joel | Walyson Moises | Xcyq |
Ritabrata ? | Trivikram Kamat | Vincent Vanghelle ? | Antoine Héritier ? | QinShower ? | LakshyaPunyani-01 |
jasonjyu | Jeffmorrison | David M. | Patrick Kleindienst | Juyeon ? | Mammad Yahyayev |
Salma | Arpit Sarang | Maya ? |