Avoir un code propre Flashcards
(25 cards)
Méthode de fabrique static
Quand il y a un surchage des constructeurs pour qu’ils aient pas le même nom
Le constructeur est privé pour forcer l’utilisation des méthodes de fabrique
JobQueue
Gérer et exécuter des tâches (jobs) de manière organisée et souvent asynchrone. Elle permet de planifier, stocker et exécuter des travaux dans un ordre précis, généralement FIFO (First-In, First-Out).
Design pattern - Création
(Plus utilisé en C++)
Singleton
Factory
Builder
Design pattern - Structure
(Plus utilisé en C++)
Adapter
Composite
Proxy
Design pattern - Comportement
(Plus utilisé en C++)
Observer
Command
Strategy
Principe du SOLID
S - Single Responsibility Principle (Responsabilité unique)
O - Open/Closed Principle (Ouvert/Fermé)
L - Liskov Substitution Principle (Substitution de Liskov)
I - Interface Segregation Principle (Ségrégation des interfaces)
D - Dependency Inversion Principle (Inversion des dépendances)
Encapsulation
Principe des classes => Regrouper les données (attributs) et les méthodes (fonctions membres)
Controle des accès via des modificateurs d’accès (private, protected, public)
Héritage
Création d’une nouvelle classe (classe dérivée) à partir d’une classe existante (classe de base)
Favorise la réutilisation de code
Polymorphisme
Permet à une méthode ou un opérateur de se comporter différamment selon le contexte
Polymorphisme statique (Surchage)
Déterminé à la compilation
Surchage de fonction
Surcharge d’opérateur
Polymorphisme dynamique (Héritage + Fonction Virtuelle)
Fonction virtuelle
Héritage
Fonction virtuelle
Permet de redéfinir une focntion héritée
override
Fonction pure virtuelle
Une fonction pure virtuelle en C++ est une fonction virtuelle déclarée dans une classe de base, mais qui n’a pas d’implémentation dans cette classe. Elle sert à imposer aux classes dérivées de fournir leur propre implémentation de cette fonction.
La déclaration d’une fonction pure virtuelle est faite en ajoutant = 0 à sa déclaration dans la classe de base.
Classe abstraite
Toute classe contenant au moins une fonction pure virtuelle
On ne peut pas instancier une classe abstraite
Les concepts de la POO
- Encapsulation
- Abstraction
- Héritage
- Polymorphisme
Composition
Une classe peut contenir des objets d’autres classes pour réutiliser leurs fonctionnalités
S - Single Responsibility Principle (Responsabilité unique)
Une classe = une seule responsabilité
O - Open/Closed Principle (Ouvert/Fermé)
Une classe doit être ouverte à l’extension et fermée à la modification
L - Liskov Substitution Principle (Substitution de Liskov)
Une classe dérivée doit pouvoir être utilisée à la place de sa classe de base sans problème
I - Interface Segregation Principle (Ségrégation des interfaces)
Une classe ne doit pas être forcée d’implémenter des interfaces qu’elle n’utilise pas
Dependency Inversion Principle (DIP)
La classe de base ne doit pas dépendre de sa classe enfant
Singleton
Grantit qu’une classe n’aura qu’une seule instance tout au long du programme
Factory
Design pattern qui encapsule la création d’objet
Au lieu de créer avec un new, cette tâche est déléguée à la factory
Création d’objet en une seule étape
Builder
Construction d’objet complexe par étape, ajout d’étapes intermédiaires