Junior
Quels modèles de conception connaissez-vous?
sobes.tech IA
Réponse de l'IA
-
Créationnels
- Méthode de fabrique (façon de créer des objets via une méthode de fabrique plutôt que directement via le constructeur)
- Fabrique abstraite (interface pour créer des familles d'objets liés sans spécifier leurs classes concrètes)
- Constructeur (création étape par étape d'objets complexes, permettant d'obtenir différentes variantes de l'objet en utilisant le même code de construction)
- Prototype (création de nouveaux objets en copiant un modèle existant)
- Singleton (garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à cette instance)
-
Structurels
- Adaptateur (permet à des objets avec des interfaces incompatibles de travailler ensemble)
- Pont (sépare l'abstraction de l'implémentation, permettant à elles de changer indépendamment)
- Composite (traite des objets individuels et des groupes d'objets de manière uniforme)
- Décorateur (ajoute dynamiquement des responsabilités à des objets)
- Facade (fournit une interface unifiée à un ensemble d'interfaces d'un sous-système)
- Flyweight (gère efficacement un grand nombre de petits objets)
- Proxy (fournit un objet substitut qui contrôle l'accès à un autre objet)
-
Comportementaux
- Chaîne de responsabilités (envoie des requêtes le long d'une chaîne de gestionnaires)
- Commande (encapsule une requête en tant qu'objet, permettant de paramétrer des clients, de mettre en file d'attente des requêtes, de les journaliser et de supporter l'annulation)
- Itérateur (fournit un moyen d'accéder séquentiellement à tous les éléments d'un objet composé sans révéler sa structure interne)
- Médiateur (simplifie l'interaction entre plusieurs objets en introduisant un objet médiateur)
- Mémento (permet de sauvegarder et de restaurer l'état interne d'un objet sans violer son encapsulation)
- Observateur (définit une dépendance un à plusieurs entre objets, de sorte que lorsque l'un change, tous les dépendants sont notifiés et mis à jour)
- État (permet à un objet de changer son comportement lorsque son état interne change)
- Stratégie (définit une famille d'algorithmes, les encapsule et les rend interchangeables)
- Méthode template (définit le squelette d'un algorithme dans une opération, laissant aux sous-classes le soin de redéfinir certains pas sans changer la structure globale)
- Visiteur (permet d'ajouter de nouvelles opérations à une hiérarchie de classes sans modifier les classes elles-mêmes)
Dans le développement Android, on utilise souvent des modèles MVx (MVP, MVVM), ainsi que des modèles issus de la bibliothèque Android Architecture Components (Room, ViewModel, LiveData, Navigation).