# Les patrons de conception implémentés en Java ![Java CI with Maven](https://github.com/iluwatar/java-design-patterns/workflows/Java%20CI%20with%20Maven/badge.svg) [![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/iluwatar/java-design-patterns/master/LICENSE.md) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=iluwatar_java-design-patterns&metric=ncloc)](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=iluwatar_java-design-patterns&metric=coverage)](https://sonarcloud.io/dashboard?id=iluwatar_java-design-patterns) [![Join the chat at https://gitter.im/iluwatar/java-design-patterns](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![All Contributors](https://img.shields.io/badge/all_contributors-148-orange.svg?style=flat-square)](#contributors-) # Introduction Le patron de conception est la meilleure formatalisation qu'un programmeur peut utiliser pour résoudre un problème lors d'une conception d'une application/system. Le patron de conception (design pattern) est là pour accélérer le processus de développement en fournissant des paradigmes éprouvés. La réutilisation de patron de conception aide à prévenir des problèmes subtiles mais qui sont à l'origine de problèmes majeures, comme cette pratique augmente la lisibilitée du code par les développeurs/architectes familiers avec l'utilisation de ces concepts. # Commencer Ce site présente des modèles de conception Java. Les solutions ont été développées par des développeurs et architectes expérimentés de la communauté open source. Les modèles peuvent être parcourus par leurs descriptions de haut niveau ou en regardant leur code source. Les exemples de code source sont bien commentés et peuvent être considérés comme tutoriels de programmation sur la façon d'implémenter un modèle spécifique. Nous utilisons le plus technologies Java open source éprouvées au combat. Avant de plonger dans le matériau, vous devez vous familiariser avec divers [Principes de conception de logiciels](https://java-design-patterns.com/principles/). Toutes les conceptions doivent être aussi simples que possible. Vous devriez commencer par KISS, YAGNI, et faire la chose la plus simple qui pourrait éventuellement fonctionner principes. Complexité et les modèles ne devraient être introduits que lorsqu'ils sont nécessaires pour extensibilité. Une fois que vous êtes familiarisé avec ces concepts, vous pouvez commencer à explorer [modèles de conception disponibles](https://java-design-patterns.com/patterns/) par tout des approches suivantes - Recherchez un modèle spécifique par son nom. Vous n'en trouvez pas? Veuillez signaler un nouveau modèle [ici](https://github.com/iluwatar/java-design-patterns/issues). - Utilisation de balises telles que `Performance`, `Gang of Four` ou `Data access`. - Utilisation des catégories de modèles, `Créatif`, `Comportemental` et autres. J'espère que les solutions orientées objet présentées sur ce site vous seront utiles dans vos architectures et ayez autant de plaisir à les apprendre que nous en avons eu à les développer. # Comment contribuer Si vous souhaitez contribuer au projet, vous trouverez les informations pertinentes dans notre [wiki développeur](https://github.com/iluwatar/java-design-patterns/wiki). Nous aiderons vous et répondez à vos questions dans le [Gitter chatroom](https://gitter.im/iluwatar/java-design-patterns). # Licence Ce projet est concédé sous les termes de la licence MIT.