Sobes.tech
Middle

Quels modèles de conception connaissez-vous?

sobes.tech IA

Réponse de l'IA

Créationnels :

  • Méthode de Fabrique (Factory Method) : Définit une interface pour créer un objet, mais laisse aux sous-classes le soin de décider quelle classe instancier.
  • Fournisseur Abstrait (Abstract Factory) : Fournit une interface pour créer des familles d'objets liés ou dépendants sans spécifier leurs classes concrètes.
  • Constructeur (Builder) : Sépare la construction d'un objet complexe de sa représentation, de sorte que le même processus de construction peut créer différentes représentations.
  • Prototype (Prototype) : Crée de nouveaux objets en copiant une instance existante.
  • Singleton (Singleton) : Garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à cette instance.

Structurels :

  • Adaptateur (Adapter) : Convertit l'interface d'une classe en une autre interface que les clients attendent.
  • Pont (Bridge) : Sépare une abstraction de sa mise en œuvre afin qu'elles puissent varier indépendamment.
  • Composite (Composite) : Compose des objets en structures arborescentes pour représenter des hiérarchies partie-tout. Permet aux clients de traiter les objets individuels et leurs compositions de manière uniforme.
  • Décorateur (Decorator) : Ajoute dynamiquement des responsabilités à un objet. Une alternative flexible à la sous-classe pour étendre la fonctionnalité.
  • Facade (Fasade) : Fournit une interface unifiée à un ensemble d'interfaces dans un sous-système. Définit une interface de haut niveau qui rend le sous-système plus facile à utiliser.
  • Flyweight (Flyweight) : Utilisé pour partager efficacement un grand nombre d'objets similaires.
  • Proxy (Proxy) : Fournit un objet substitut qui contrôle l'accès à un autre objet.

Comportementaux :

  • Chaîne de Responsabilité (Chain of Responsibility) : Permet de transmettre des requêtes le long d'une chaîne de gestionnaires. Chaque gestionnaire décide s'il doit traiter la requête ou la transmettre au suivant.
  • Commande (Command) : Encapsule une requête en tant qu'objet, permettant de paramétrer des clients avec différentes requêtes, de mettre en file d'attente ou de journaliser ces requêtes, et de supporter des opérations d'annulation.
  • Itérateur (Iterator) : Fournit un moyen d'accéder séquentiellement aux éléments d'un objet agrégé sans révéler sa représentation interne.
  • Médiateur (Mediator) : Définit un objet qui encapsule comment un ensemble d'objets interagissent. Favorise un couplage faible en évitant les références explicites entre objets.
  • Mémento (Memento) : Capture et externalise l'état interne d'un objet sans violer l'encapsulation, permettant à l'objet de revenir à cet état ultérieurement.
  • Observateur (Observer) : Définit une dépendance de type "un à plusieurs" entre objets, de sorte que lorsque l'un change d'état, tous ses dépendants sont notifiés et mis à jour automatiquement.
  • État (State) : Permet à un objet de changer son comportement lorsque son état interne change. L'objet semble changer de classe.
  • Stratégie (Strategy) : Définit une famille d'algorithmes, encapsule chacun d'eux et les rend interchangeables. Permet à l'algorithme de varier indépendamment des clients qui l'utilisent.
  • Méthode Modèle (Template Method) : Définit le squelette d'un algorithme dans une opération, en laissant certains pas aux sous-classes. Permet aux sous-classes de redéfinir certains pas de l'algorithme sans changer sa structure.
  • Visiteur (Visitor) : Représente une opération à effectuer sur les éléments d'une structure d'objets. Permet de définir une nouvelle opération sans changer les classes des éléments sur lesquels elle opère.