Introduction à Python
  • Back to Main Website
  • Home
  • Comprendre Et Installer Python
    • Comprendre Et Installer Python
    • Histoire du Langage
    • Exécution d’un Programme Python
    • Versions et Compilation de Python
    • Le PATH
    • Path.. et environnements virtuels!
    • Les IDEs
    • Les Notebooks

    • Quelques IDEs en Python
    • VsCode - L’IDE Flexible et Polyvalent
    • Spyder - Un IDE Orienté Science des Données
    • PyCharm - L’IDE orienté Python

    • Travaux Pratiques
    • TP Guidé - Installer plusieurs versions de python avec pyenv
    • TP - Construire son python depuis la source
  • Syntaxes et Concepts de Base
    • Syntaxes et Concepts de Base
    • Syntaxe et objets de Base Python
    • Fonctions et Modules
    • Introduction à la POO en Python

    • Travaux Pratiques
    • Exercices d’applications
    • Base de la POO: Exercice
  • Les Librairies Python
    • Les Librairies Python
    • Installer et importer des librairies en Python
    • Les DataFrames
    • Exemple sur pandas
    • Calcul Scientifique et Optimization
    • Machine Learning
    • Recupérer des données du net
    • Python - Aussi un language pour servir des données
    • Visualiser et présenter ces données avec Python

    • Travaux Pratiques
    • TP-3 Libraries
    • TP - Utiliser pandas
  • Bonne pratiques, Dangers, et Astuces
    • Bonne pratiques, Dangers, et Astuces
    • Mutabilité et Scope
    • Typage en Python
    • Asynchronie et Multiprocessing

    • Travaux Pratiques
    • Modern Portfolio Theory - Practical Work
    • Modern Portfolio Theory - Practical Work - Corrected version
    • TP Python for Finance: Introduction to Option Pricing
    • TP Python for Finance: Introduction to Option Pricing - Corrected Version
    • TP - Creer un outil de récupération de donnée
  • Concepts avancés
    • Concepts avancés
    • L’arbre Syntaxique Abstrait ou AST
    • Python Orienté Objet - Les Dunders
    • Python Orienté Objet - les Design Patterns

    • Travaux Pratiques
    • TP-5
  • Sujets de Projets possibles
    • Projets
    • Projets Introduction à Python - Millésime 2024
    • Projets Introduction à Python - Millésime 2025
  • Code source
  1. Python Orienté Objet - les Design Patterns
  • Concepts avancés
  • L’arbre Syntaxique Abstrait ou AST
  • Python Orienté Objet - Les Dunders
  • Python Orienté Objet - les Design Patterns
  • Travaux Pratiques
    • TP-5

On this page

  • Python Orienté Objet - les Design Patterns
    • Introduction aux Design Patterns
    • A - Design Patterns de Création
    • B - Design Patterns Structurels
    • C - Design Patterns Comportementaux
    • Conclusion

Python Orienté Objet - les Design Patterns

Cours
Fondamentaux
Découvrir les design paterns, et connaitre les plus standards
Author

Remi Genet

Published

2025-02-12

Python Orienté Objet - les Design Patterns


Introduction aux Design Patterns

  1. Définition et Importance des Design Patterns:
    • Définition: Un design pattern en programmation orientée objet est une solution réutilisable à un problème couramment rencontré dans la conception logicielle.
    • Rôle des Design Patterns: Ils fournissent un cadre de référence pour résoudre des problèmes de conception similaires et améliorent la lisibilité et la maintenabilité du code.
  2. Catégories des Design Patterns:
    • Patterns de Création: Concernent la manière de créer des objets tout en séparant la logique de construction de leur représentation.
    • Patterns Structurels: Se concentrent sur la composition des classes ou objets pour former des structures plus grandes.
    • Patterns Comportementaux: Traitent de la communication entre les objets et la répartition des responsabilités.

A - Design Patterns de Création

  1. Singleton:
    • Principe: Assure qu’une classe n’a qu’une seule instance et fournit un point d’accès global à celle-ci.
    • Application en Python:
  2. Factory Method:
    • Principe: Définit une interface pour créer un objet, mais laisse les sous-classes décider quelle classe instancier.
    • Application en Python:

B - Design Patterns Structurels

  1. Adapter:
    • Principe: Permet à des interfaces incompatibles de travailler ensemble. Il agit comme un intermédiaire entre deux classes non compatibles.
    • Application en Python:
  2. Decorator:
    • Principe: Permet d’ajouter dynamiquement de nouvelles fonctionnalités à un objet sans modifier sa structure.
    • Application en Python:

C - Design Patterns Comportementaux

  1. Observer:
    • Principe: Définit une dépendance entre objets de manière à ce que lorsque l’un change d’état, tous ses dépendants sont notifiés et mis à jour automatiquement.
    • Application en Python:
  2. Strategy:
    • Principe: Permet de définir une famille d’algorithmes, encapsule chacun d’eux et les rend interchangeables. La stratégie laisse l’algorithme varier indépendamment des clients qui l’utilisent.
    • Application en Python:

Conclusion

Les design patterns en POO en Python jouent un rôle crucial dans la conception de logiciels efficaces, maintenables et évolutifs. Ils permettent aux développeurs de suivre des modèles éprouvés pour résoudre des problèmes communs de conception logicielle. Cette approche ne remplace pas la créativité dans la conception logicielle, mais fournit un langage commun et des solutions éprouvées pour des problèmes de conception courants.

Back to top
Python Orienté Objet - Les Dunders
TP-5

Introduction à Python, Rémi Genet.
Licence
Code source disponible sur Github

 

Site construit avec et Quarto
Inspiration pour la mise en forme du site ici
Code source disponible sur GitHub