Cours
Code digicomp : ODP
Design Patterns et développement logiciel moderne
Description de la formation
Téléchargez au format PDF- Connaître les concepts centraux, les domaines d’application et les limites des Design Patterns
- Appliquer des Design Patterns à des problèmes de conception typiques
- Évaluation des différents patterns en fonction de la maintenance, de l’extensibilité, de la testabilité et de la clarté
- Reconnaître les « design smells » et améliorer les designs grâce au réusinage
- Utiliser l’IA comme assistant lors de l’analyse de problèmes de design et l’évaluation des variantes de solution
Dans cette formation axée sur la pratique, vous apprendrez à utiliser des design patterns (patrons de conception) pour développer des logiciels plus faciles à maintenir, flexibles et compréhensibles. Vous apprendrez à reconnaître des problèmes de design typiques, à choisir le design pattern adapté et évaluerez son impact sur la maintenance, l’extensibilité, la clarté et la testabilité du logiciel.
Grâce à des exercices pratiques, vous travaillerez avec des patrons, les restructurerez, les modifierez ou les adapterez et discuterez de compromis courants. Vous utiliserez l’IA comme partenaire d’apprentissage, pour analyser des problèmes de conception, comparer des alternatives de solution et vérifier de manière critique les idées de modification et adaptation des design patterns.
1 Conception de logiciel et qualité de conception
- Caractéristiques d’un bon concept orienté objet
- Maintenance, extensibilité, testabilité et clarté
- Principes SOLID comme base pour les choix de conception
- Les « design smells » et les causes typiques d’un code difficile à maintenir
- Compromis et conséquences pour les choix de conception
2 Comprendre et choisir les design patterns
- But, structure et utilisation des design patterns
- Aperçu des modèles de production, de structure et de comportement
- Chois du pattern en fonction du contexte, de la problématique et des conséquences
- Les anti-patterns et l'utilisation excessive des patterns
3 Les design patterns en pratique
- Singleton, Factory Method et Abstract Factory pour une création flexible d’objets
- Adapter, Facade, Composite et Proxy pour les structures découplées
- Strategy, Observer et Template Method pour une approche flexible
- Chain of Responsibility et Command pour des processus évolutifs
4 Du problème de conception à la solution
- Reconnaître et analyser des problèmes de conception
- Développer et évaluer les autres patrons de conception adaptés
- Réusiner (modifier, adapter) des conceptions avec des patrons
- Esquisses UML et exemples de code pour discuter des différentes solutions possibles
- Utiliser l’IA pour analyser, comparer et évaluer les solutions proposées
5 Les patrons de conception (Design Patterns) dans un contexte d’architecture logicielle
- Interaction entre les design patterns, SOLID et les choix architecturaux
- Dependency Injection et Inversion of Control
- Les patterns dans les architectures en couches et la Clean Architecture (Hexagonal Architecture, Ports & Adapter)
- Classification des patrons de conception dans le Domain-Driven Design (DDD) et les frameworks modernes
- Distinction par rapport aux modèles architecturaux, d’intégration, cloud et distribués
Cette formation est constituée de théorie et d’exercices pratiques. Les exercices se font individuellement ou en groupe.
Certains Design Patterns seront utilisés lors dans le cadre d’exemples pratiques de code (Java) ou de design et discutés en groupe.
Ce cours s’adresse aux développeuses et développeurs logiciels et aux architectes IT qui souhaitent approfondir leurs connaissances dans la conception de logiciels.
- Au minimum : connaissance du développement de Softwares orientés objets
- Recommandé : expérience dans le développement de Softwares orientés objets
- Nous vous conseillons de suivre au préalable le cours suivant ou de vous assurer de posséder des connaissances équivalentes :