Lire dans différentes langues : zh , ko , fr , tr , ar , es , pt , id , ru , de , ja , vi , bn , np , it , da
Les modèles de conception sont les meilleures pratiques formalisées qu'un programmeur peut utiliser pour résoudre des problèmes courants lors de la conception d'une application ou d'un système.
Les modèles de conception peuvent accélérer le processus de développement en fournissant des paradigmes de développement testés et éprouvés.
La réutilisation des modèles de conception permet d'éviter les problèmes subtils qui causent des problèmes majeurs et améliore également la lisibilité du code pour les codeurs et les architectes familiers avec les modèles.
Ce site présente les modèles de conception Java. Les solutions ont été développées par des programmeurs et architectes expérimentés de la communauté open source. Les modèles peuvent être parcourus grâce à leurs descriptions de haut niveau ou en consultant leur code source. Les exemples de code source sont bien commentés et peuvent être considérés comme des tutoriels de programmation sur la façon d'implémenter un modèle spécifique. Nous utilisons les technologies Java open source éprouvées les plus populaires.
Avant de vous plonger dans ce sujet, vous devez vous familiariser avec divers principes de conception de logiciels.
Toutes les conceptions doivent être aussi simples que possible. Vous devriez commencer par les principes KISS, YAGNI et Do The Simplest Thing That Could Evently Work. La complexité et les modèles ne doivent être introduits que lorsqu'ils sont nécessaires à une extensibilité pratique.
Une fois que vous êtes familiarisé avec ces concepts, vous pouvez commencer à explorer les modèles de conception disponibles en utilisant l'une des approches suivantes :
Performance
, Gang of Four
ou Data access
.Creational
, Behavioral
et autres.J'espère que vous trouverez les solutions orientées objet présentées sur ce site utiles dans vos architectures et que vous aurez autant de plaisir à les apprendre que nous en avons eu en les développant.
Si vous souhaitez contribuer au projet, vous trouverez les informations pertinentes dans notre wiki de développeur. Nous vous aiderons et répondrons à vos questions dans le salon de discussion Gitter.
Les modèles de conception sont désormais disponibles sous forme de livre électronique. Pour en savoir plus sur les « Modèles de conception Java Open Source » ici : https://payhip.com/b/kcaF9
Les contributeurs du projet peuvent obtenir le livre gratuitement. Contactez le responsable via le salon de discussion Gitter ou par e-mail (iluwatar (at) gmail (dot) com ). Envoyez un message contenant votre adresse e-mail, votre nom d'utilisateur Github et un lien vers une pull request acceptée.
Ce projet est sous licence selon les termes de la licence MIT.
Ilkka Seppälä ? ? ? | Subhrodip Mohanta ? ? | amit1307 | Narendra Pathai ? ? | Jeroen Meulemeester | Joseph McCarthy |
Thomas | Anurag Agarwal | Markus Moser ? ? | Sabiq Ihab | Amit Dixit | Piyush Kailash Chaudhari |
Josh Zambales | Kamil Pietruszka | Zafar Khaydarov | Paul Campbell | Argyro Sioziou | TylerMcConville |
saksham93 | Nikhilbarar | Colin Mais | Rouslan | Juho Kang | Dheeraj Mummareddy |
Bernardo Sulzbach | Aleksandar Dudukovic | Yusuf Aytas | Mihály Kuprivecz | Stanislav Kapinus | GV Sharma |
Srđan Paunovic | Petros G. Sideris | Pramod Gupta ? | Amarnath Chandana | Anurag870 | Wes Gilland |
Harshraj Thakor | Martin Vandenbussche | Alexandru Somaï | Artur Mogozov | Antoine | Christian Cygnus |
Dima Gubine | Joshua Jiménez | Kai hiver | 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 | Shengli Bai | Boris |
Dmitri Avershine | 靳阳 | hoangnam2261 | Arpit Jaïn | Jon Ingi Sveinbjörnsson | Kirill Vlassov |
Mitchell Irvin | Ranjeet | PhénixYip | M Saif Asif | kanwarpreet25 | Léon Mak |
Par Wramdemark | Evan Sia Wai Suan | Anagha Sasikumar | Christoffer Hamberg | Dominique Gruntz | Hannes |
Leo Gutiérrez Ramírez | Zhang WH | Christopher O'Connell | Georges Mavroeidis | Hémant Bothra ? | Kévin Peters |
Georges Aristy | Mahendran Mookkiah | Azureyjt | gans | Mat ? | Gopinath Langote |
Hoswey | Amit Pandey | gwildor28 ? | 田浩 ? | Stamatis Pitsios | qza |
Rodolfo Forte ? | Ankur Kaushal | Ovidijus Okinskas | Robert Kasperczyk | Tapio Rautonen | Youri Orlov |
Varun Upadhyay | Aditya copain | 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 ? ? | Béthan Palmer | Rêve toxique |
Edy Cu Tjong | Michael Krzywański | Stefan Birkner | Fedor Skvorcov | samilAyoub | Vladislav Golubinov |
Swaraj | Christophe Flick | Ascênio ? | Domenico Sibilio | Akash Chandwani ? | Pavlo Manannikov |
Eiman | Rocheux | Ibrahim Ali Abdelghany ? | Girish Kulkarni | Omar Karazoun | Jeff Evans |
Vivek Singh | siavash | cacahuètes | chaîne125 ? | KHADIR Tayeb ? | enflammer1771 |
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 ? |
Xénilo137 | Samuel Souza | Marlo Henrique ? | AndreyPyzh | karthikbhat13 | Morteza Adigozalpour |
Tantri Nagaraj | Francesco Scuccimarri | Conny Hansson | Muklas Rahmanto ? | Vadim ? | Simran Keshri |
JCarlos ? | Ali Ghasemi | Carl Dea | Mozartus ? | Manvi Goel | Anum Amin |
Réo Uehara ? | Fiordy | Harshal | Abhinav Vashisth | Kévin ? | Shrirang ? |
interagir avec ankush | CharlieYu | Leisterbecker | DragonRêveur | ShivanshCharak | Hattori Henzo |
Arnab Sen | MohanaRao SV | Yonatan Karp-Rudin ? | Oliani | Renjie LIU | mec parfait |
xyllq999 | Mohamed Bilal | Karshil Sheth | kongong86 | Aitor Fidalgo Sánchez ? ? | Victor Il |
Minh Nguyen ? | Victor Il | Yichan | Pan Sem | zhoumengyks | toi ? |
Merci ? | Programmeur paresseux | Mohammed Faizan Ahmed | Bruno Fernandes | SammanPali | Qixiang Chen |
Shourya Manekar ? | Alain ? | JanFidor | Anton Iakoutovitch | steph88ss | Yujan Ranjitkar ? |
Yusha-g ? | Robert Volkmann ? | Bipin Kumar Chaurasia | KyleChanson30 | u7281975 | duralkhachane |
Tejas Singh ? | Sudarsan Balaji | Vaibhav Agrawal | u7275858 | prasad-333 | JurenXu |
murphShaw | XianWu99 | JoshuaSinglaANU | Ricardo Ramos ? | Farid Zouheir ? | Vinicius AB ? |
Stéphanel Stan | Prince Bhati ? | WuLang | Hugo Kat | Shivanagouda Agasimani | Aparna |
Girolamo Giordano ? | Chak-C | Nakul Nambiar | KarmaTashiCat ? | marikattt | Hashvardhan Parmar ? |
YongHwan ? | Shogo Hida ? | Eugène | Piyush | Rahul Raj | Bharat Kalyan S |
Saiteja Reddy ? | Enrique Clérici ? | Ramil Sayetov ? | 东方未白 | Fredrik Sejr ? | akshatarora0013 |
Mughees Qasim | behappyleee ? | Ayush Thakur ? | Antoine Bosch | transsexuel | Giammaria Biffi ? |
Saiful Haque | JabezBrew | Constantin-Goldman | Tien Nguyen Minh ? | Vladimir ? | Surjendu ? |
Bakazhou | Owen Leung | Stavros Barousis | Syyed Ibrahim Abdallah ? | JiaDi Zhang ? | Sanchit Bansal |
Md Saiful Islam | Antonio Addeo | Allagadda Sai Upendranath | Mathéus Braga ? | Appari Satya Barghav | Marcel Ribeiro Dantas |
Muhammad Hanif Amrullah ? | JackH408 | Shubham ? | Nishant Jain | Ritam Chaudhury | JerryZhao275 |
Leonardo Lisanti ? | Yennifer Herrera ? ? | jnnniu-n ? | Miguel Ángel Pérez Garcia ? ? | Suwan Sankaja ? | ok |
Daniel Lisbonne ? | Sam Powell | João Fernandes ? | Hong Geon-ui ? | Doksanbir ? | Chant3ll3 ? |
YongHwan Kwon | Jakub Klimek | croire ? | oeuf0102030405 ? | Ved Asole | NouveauMatin ? |
资深老萌新 ? | Seungwan Jeon ? | sugavanesh | FinnS-F | Jerryyummy ? | Chaudrée de Manoj |
Aditya | nooynayr | CYBERCRUX2 | Luis Mateo Hincapié Martínez ? ? | guqing | Sashir Estela |
Omaha | leif e. | Jun Kang | Kishalay Pandey | drishti7 | David Médina Orozco ? ? |
Romain Léontev | Riley | k1w1dev | dev-yugantar | Adélia | gatlanagaprasanna |
Avinash Shukla | Mayank Choudhary | romannimets | Joël | Walyson Moises | Xcyq |
Ritabrata ? | Trivikram Kamat | Vincent Vanghelle ? | Antoine Héritier ? | QinDouche ? | LakshyaPunyani-01 |
JasonJyu | jeffmorrison | David M. | Patrick Kleindienst | Juyeon ? | Mammad Yahyayev |
Salma | Arpit Sarang | Maya ? |