Sobes.tech
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).