IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo dvp
  • Forums
  • Tutoriels
  • FAQ
  • Blogs
  • Chat
  • Newsletter
  • Emploi
  • Études
  • Droit
  • Club
  • DI/DSI Solutions d'entreprise
    • DI/DSI Solutions d'entreprise
    • Big Data
    • BPM
    • Business Intelligence
    • Data Science
    • ERP / PGI
    • CRM
    • SAS
    • SAP
    • Sécurité
    • Droit informatique et entreprise
    • OnlyOffice
  • Cloud
    • Cloud Computing
    • Oracle
    • Azure
    • IBM Cloud
  • IA
    • Intelligence artificielle
  • ALM
    • ALM
    • Agile
    • Merise
    • UML
  • Microsoft
    • Microsoft
    • .NET
    • Microsoft Office
    • Visual Studio
    • Windows
    • ASP.NET
    • TypeScript
    • C#
    • VB.NET
    • Azure
  • Java
    • Java
    • Java Web
    • Spring
    • Android
    • Eclipse
    • NetBeans
  • Dév. Web
    • Développement et hébergement Web
    • AJAX
    • Apache
    • ASP
    • CSS
    • Dart
    • Flash / Flex
    • JavaScript
    • NodeJS
    • PHP
    • Ruby & Rails
    • TypeScript
    • Web sémantique
    • Webmarketing
    • (X)HTML
  • EDI
    • EDI
    • 4D
    • Delphi
    • Eclipse
    • JetBrains
    • LabVIEW
    • NetBeans
    • MATLAB
    • Scilab
    • Visual Studio
    • WinDev
    • Visual Basic 6
    • Lazarus
    • Qt Creator
  • Programmation
    • Programmation
    • Débuter - Algorithmique
    • 2D - 3D - Jeux
    • Assembleur
    • C
    • C++
    • C#
    • D
    • Go
    • Kotlin
    • Objective C
    • Pascal
    • Perl
    • Python
    • Rust
    • Swift
    • Qt
    • XML
    • Autres
  • SGBD
    • SGBD & SQL
    • 4D
    • Access
    • Big Data
    • Data Science
    • DB2
    • Firebird
    • InterBase
    • MySQL
    • NoSQL
    • PostgreSQL
    • Oracle
    • Sybase
    • SQL-Server
    • MongoDB
  • Office
    • Microsoft Office
    • Access
    • Excel
    • Word
    • Outlook
    • PowerPoint
    • SharePoint
    • Microsoft Project
    • OpenOffice & LibreOffice
    • OnlyOffice
  • Mobiles
    • Mobiles
    • Android
    • iOS
  • Systèmes
    • Systèmes
    • Windows
    • Linux
    • Arduino
    • Hardware
    • HPC
    • Mac
    • Raspberry Pi
    • Réseau
    • Green IT
    • Sécurité
    • Systèmes embarqués
    • Virtualisation
    • Informatique quantique
    • Crypto, NFT & Blockchain
  • Programmation
  • Algorithmique
  • 2D-3D-Jeux
  • Assembleur
  • C
  • C++
  • C#
  • D
  • Go
  • Kotlin
  • Objective C
  • Pascal
  • Perl
  • Python
  • Rust
  • Swift
  • Qt
  • XML
  • Autres
  • Forums C++
  • FAQ C++
  • Tutoriels C++
  • Livres C++
  • Outils & compilateurs C++
  • Bibliothèques C++
  • Sources C++
  • Qt

Présentation des principaux design patterns en C++

Table des matièresPlier Déplier

  • Introduction
    • I. Introduction
  • Prototype
    • II. Prototype
      • II-A. Exemple de besoin du protoype
      • II-B. Exemple naïf d'implémentation
      • II-C. Implémentation avec les templates
  • Le singleton
    • III. Le singleton
      • III-A. Quand a-t-on besoin du singleton ?
      • III-B. Exemple simpliste d'implémentation du Singleton
      • III-C. Implémentation templatisée
      • III-D. Remarques sur le singleton
        • III-D-1. Le singleton non thread-safe
          • III-D-1-a. Première solution envisageable
          • III-D-1-b. Problème lié à cette solution
          • III-D-1-c. Problème lié au double check
        • III-D-2. Le singleton est une variable globale
  • La fabrique
    • IV. La fabrique
      • IV-A. Un besoin de fabrique
      • IV-B. Première implémentation
      • IV-C. Un code plus réutilisable avec les templates
  • Le décorateur
    • V. Le décorateur
      • V-A. Pourquoi le décorateur
      • V-B. Implémentation première des décorateurs
      • V-C. Remarques sur le décorateur
        • V-C-1. Explosion du nombre de classes
        • V-C-2. Pas de template
  • Le composite
    • VI. Le composite
      • VI-A. Quand a-t-on besoin de celui-ci ?
      • VI-B. Première implémentation
      • VI-C. Pas de templates
  • L'observateur
    • VII. L'observateur
      • VII-A. Pourquoi observer ?
      • VII-B. Première implémentation
      • VII-C. Remarque sur ce pattern
        • VII-C-1. Tirer/Pousser
  • La stratégie
    • VIII. La stratégie
      • VIII-A. Pourquoi adopter la stratégie
      • VIII-B. Première implémentation
      • VIII-C. Remarques sur la stratégie
        • VIII-C-1. Parallèle avec les politiques
  • Conclusion
    • IX. Conclusion
      • IX-A. Que retenir de mon article ?
      • IX-B. Références
      • IX-C. Remerciements

Cet article a pour but de vous présenter la majorité des design patterns via un exemple de besoin qui sera complété par une mise en pratique en C++.

Lire l'article.

Article lu   fois.

L'auteur

Come David Site personnel

L'article

Publié le 20 février 2008 

Version en ligne

Version PDF Version hors-ligne

ePub , Azw et Mobi

Lire l'article

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

suivant
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Côme David. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++
  • Nous contacter
  • Soutenir Developpez.com
  • Participez
  • Hébergement
  • Publicité / Advertising
  • Informations légales

© 2000-2025 - www.developpez.com