Mis à jour en mai 2025. Ce cours intègre désormais Coursera Coach ! Une façon plus intelligente d'apprendre avec des conversations interactives en temps réel qui vous aident à tester vos connaissances, à remettre en question vos hypothèses et à approfondir votre compréhension au fur et à mesure que vous progressez dans le cours. Ce cours vous guide à travers les patrons de conception structurelle les plus importants du C++ moderne, en commençant par une introduction aux concepts de base tels que les patrons de conception, les principes S.O.L.I.D., et les diagrammes de classe UML. Vous explorerez un large éventail de modèles, y compris Adapter, Façade, Proxy, et d'autres, avec des explications étape par étape. Chaque module introduit un pattern, présente des exemples concrets et fournit des stratégies d'implémentation. Vous apprendrez à appliquer ces patterns dans des scénarios pratiques, tels que la conception d'interfaces d'entrée de jeux, l'implémentation de projets de console et l'optimisation de l'utilisation des ressources avec des proxys. En analysant les avantages et les inconvénients de chaque modèle, vous saurez quand et pourquoi utiliser chaque approche dans vos propres projets logiciels. Le cours se concentre également sur l'amélioration des performances et de la modularité, en montrant comment les patrons de conception réduisent la complexité du code et favorisent la réutilisation. Au fur et à mesure de votre progression, vous approfondirez votre compréhension des concepts C++ avancés, tels que les pointeurs intelligents, les ressources partagées et les idiomes spécifiques aux patrons de conception. À la fin du cours, vous serez en mesure d'appliquer en toute confiance ces modèles pour créer des applications évolutives et faciles à maintenir, maîtrisant ainsi l'art de la conception de haut niveau en C++ moderne. Ce cours est conçu pour les développeurs C++ intermédiaires à avancés, familiers avec les principes de la programmation orientée objet. Une compréhension de base de la syntaxe du C++ et une familiarité avec les projets de codage sont recommandées. Aucune expérience préalable des patrons de conception n'est requise.

Acquérir des compétences de haut niveau avec Coursera Plus pour 199 $ (régulièrement 399 $). Économisez maintenant.

Patrons de conception structurelle dans le C++ moderne

Instructeur : Packt - Course Instructors
Inclus avec
Expérience recommandée
Ce que vous apprendrez
Identifier et décrire les principaux patrons de conception structurelle en C++.
Expliquer l'intention et l'application des principes S.O.L.I.D. et des patrons de conception comme Adapter, Façade et Proxy.
Différencier les avantages et les inconvénients de chaque modèle de conception et décider quand les appliquer.
Évaluer l'impact sur les performances et les améliorations de la qualité du code après l'application des patrons de conception.
Compétences que vous acquerrez
- Catégorie : Modèle de langage unifié
- Catégorie : Modèles de conception de logiciels
- Catégorie : Principes de programmation
- Catégorie : Architecture logicielle
- Catégorie : C++ (langage de programmation)
- Catégorie : Conception orientée objet
- Catégorie : Maintenabilité
- Catégorie : Programmation orientée objet (POO)
- Catégorie : Conception de logiciels
Détails à connaître

Ajouter à votre profil LinkedIn
5 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

Il y a 8 modules dans ce cours
Dans ce module, nous allons explorer les concepts fondamentaux des patrons de conception dans le C++ moderne. Nous commençons par une introduction aux patrons de conception et aux diagrammes de classe UML, puis nous plongeons dans les principes S.O.L.I.D. qui servent de lignes directrices fondamentales pour l'écriture d'un code efficace et évolutif. Le module se termine par une vue d'ensemble des patrons de conception structurels, préparant le terrain pour une exploration plus approfondie dans les sections suivantes.
Inclus
7 vidéos1 lecture
Dans ce module, nous allons explorer le Patron de conception de l'adaptateur, un patron structurel clé utilisé pour réconcilier les interfaces incompatibles dans les logiciels. Nous commencerons par une introduction au modèle et un exemple de base, suivis d'une application pratique utilisant les entrées d'un jeu. Vous apprendrez les étapes de mise en œuvre et comprendrez les différences entre les adaptateurs d'objets et de classes, pour conclure par une analyse des forces et des limites du modèle.
Inclus
7 vidéos
Dans ce module, nous allons nous plonger dans le Patron de conception de façade, qui simplifie les sous-systèmes complexes en fournissant une interface unifiée. Nous commencerons par une présentation et un exemple de base, suivis d'une série en quatre parties où vous construirez un projet de console en utilisant le modèle de façade. En outre, nous verrons comment créer une façade pour les systèmes Linux et nous terminerons par une discussion sur les avantages et les inconvénients de ce modèle dans l'architecture logicielle moderne.
Inclus
8 vidéos1 devoir
Dans ce module, nous allons explorer le Patron de conception de Proxy, qui fournit un substitut ou une place pour un autre objet afin d'en contrôler l'accès. Nous présenterons les principales variantes, telles que les serveurs d'authentification virtuels, les serveurs d'authentification de protection et les serveurs d'authentification distants, et nous montrerons comment les mettre en œuvre et les appliquer dans des applications réelles. Vous apprendrez également comment les proxys distants fonctionnent dans les systèmes distribués et vous vous pencherez sur les proxys intelligents pour une fonctionnalité améliorée. Le module se termine par une évaluation des avantages et des inconvénients de l'utilisation des patrons de conception dans la conception de logiciels.
Inclus
13 vidéos
Dans ce module, nous allons explorer le Patron de conception des décorateurs, qui permet d'ajouter des responsabilités aux objets de manière dynamique sans modifier leur structure. En commençant par une introduction et un exemple de base, nous passerons à la construction de décorateurs pour les flux, en ajoutant des fonctionnalités de mise en mémoire tampon, de cryptage et de compression. Vous apprendrez à mettre en œuvre la classe décoratrice abstraite et à comprendre les différences entre la composition et l'héritage dans la conception. Le module se termine par une décomposition des types de décorateurs et une analyse des points forts et des limites du modèle.
Inclus
13 vidéos
Dans ce module, nous allons explorer le Patron de conception composite, qui permet aux développeurs de traiter les objets individuels et les compositions d'objets de manière uniforme. Nous commencerons par une introduction au Patron et un exemple de base, suivis d'une application détaillée à la conception d'une interface utilisateur (UI). À travers une série de trois parties, vous apprendrez à mettre en œuvre une hiérarchie de classes UI et à gérer des problèmes tels que l'ajout de pointeurs parentaux. Le module se termine par une analyse des avantages et des inconvénients de l'utilisation du modèle composite dans diverses conceptions logicielles.
Inclus
8 vidéos1 devoir
Dans ce module, nous allons explorer le Patron de conception Bridge, qui sépare l'abstraction d'un objet de son implémentation pour permettre des changements indépendants. Nous commençons par une introduction et un exemple de base, suivis d'applications pratiques telles que la construction d'une hiérarchie de formes et l'ajout de la prise en charge d'OpenGL. Vous apprendrez également à résoudre les problèmes de hiérarchie et à mettre en œuvre des techniques avancées telles que les idiomes handle-body et PImpl. Enfin, nous discuterons du pont statique et évaluerons les forces et les faiblesses du modèle dans différents contextes.
Inclus
15 vidéos
Dans ce module, nous allons explorer le Patron de conception Flyweight, qui minimise l'utilisation de la mémoire en partageant des états d'objets communs. Nous commençons par une introduction et une implémentation de base, suivies d'une série de trois parties sur l'application du modèle dans le développement de jeux pour la gestion des modèles 3D. Vous apprendrez également à implémenter l'entrelacement de chaînes et à utiliser Boost.Flyweight pour optimiser la gestion des ressources. Le module se termine par une discussion sur les avantages et les limites du modèle, en particulier dans les applications critiques en termes de performances.
Inclus
11 vidéos3 devoirs
Instructeur

Offert par
En savoir plus sur Développement de logiciels
Statut : Essai gratuit
Statut : Essai gratuit
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?





Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
Oui, vous pouvez visionner la première vidéo et le syllabus avant de vous inscrire. Vous devez acheter le cours pour accéder au contenu qui n'est pas inclus dans l'aperçu.
Si vous décidez de vous inscrire au cours avant la date de début de la session, vous aurez accès à toutes les vidéos et à toutes les lectures du cours. Vous pourrez soumettre vos travaux dès le début de la session.
Une fois que vous vous serez inscrit et que votre session aura commencé, vous aurez accès à toutes les vidéos et autres ressources, y compris les lectures et le forum de discussion du cours. Vous pourrez consulter et soumettre des évaluations pratiques, et effectuer les devoirs notés requis pour obtenir une note et un certificat de cours.
Plus de questions
Aide financière disponible,



