Comment choisir un motif de conception – France-Actu

Photo de l'auteur

By Martin

En général, un exemple de conception est une solution à un problème courant. Cela signifie que si vous connaissez le problème, vous pouvez décider quel modèle de conception est correct.

Voici une liste d’exemples de conception et les problèmes qu’ils résolvent.

EXEMPLES CRÉATIFS

La exemple de constructeur corrige un problème avec un certain nombre de constructeurs gérant des paramètres facultatifs. Ainsi, l’objet constructeur utilise un constructeur de classe interne qui crée un paramètre à la fois étape par étape.

Méthode d’usine – si vous souhaitez créer un objet, si vous ne parvenez toujours pas à définir le type de classe exact. Ainsi, une fabrique fournit une méthode qui utilise le polymorphisme pour créer le type d’objet requis.

Usine Abstraite – Si vous voulez créer un objet fabrique, ne spécifiez pas encore le type exact de la classe. Ainsi, l’abstrait fournit un moyen d’utiliser le polymorphisme pour créer le type d’un objet de fabrique qui est recherché.

Célibataire – il y a plusieurs objets sur le système, mais ce n’est pas aussi efficace que d’avoir une seule instance. Un singleton permet à un objet d’être instancié une seule fois à l’aide d’une méthode singulière.

Prototype – créer un objet coûteux. Un prototype clone l’original pour créer de nouvelles instances.

Modèles structurels

Façade – avec des interfaces multiples ou complexes (il faut encore combiner et simplifier). Une façade définit une nouvelle interface qui relie de manière compositionnelle toutes les autres interfaces.

Décorateur – si votre classe en fera plus en utilisant la même interface. Un décorateur utilise la composition plutôt que l’héritage pour étendre les fonctionnalités d’une classe, tout en conservant l’interface.

Poids du vol – lorsqu’il existe un grand nombre d’objets similaires qui affecteront l’utilisation de la mémoire. Au lieu de créer un nouvel objet à chaque fois, flyweight maintient une liste d’objets à partager.

Pont – si vous avez un certain nombre d’interfaces de classe mais qu’elles ne ressemblent pas à ce que vous voulez ou que l’implémentation change fréquemment et que vous souhaitez abstraire l’interface. Le pont utilise la composition pour créer une nouvelle interface à partir de l’appelant.

Adaptateur – lorsque les interfaces ne sont pas compatibles ou comportent plusieurs anciens codes d’interface.
L’adaptateur utilise la composition et crée une nouvelle interface pour l’appelant.

Procuration – lorsque vous n’avez pas le contrôle sur le fonctionnement de l’objet.
Un proxy encapsule un objet pour ajouter des fonctionnalités de gestion tout en conservant la même interface.

Composite – si vous avez besoin de gérer une structure de données hiérarchique.
Crée une structure à l’aide d’une composition composite, puis implémente la même interface sur les branches et les feuilles.

MODÈLES DE COMPORTEMENT

Commande – si vous souhaitez exécuter des commandes ultérieurement, exécutez-les plusieurs fois ou supprimez des opérations. La commande accepte le récepteur et tous ses paramètres.

Stratégie – si vous voulez pouvoir choisir l’algorithme à l’exécution. Une stratégie qui utilise une interface pour modifier des objets en utilisant le polymorphisme.

observateur – lorsque vous souhaitez que les objets puissent recevoir des événements de l’objet maître. L’observateur maintient une liste d’objets d’observation stockés dans tous les objets observés et peut leur fournir des informations si nécessaire.

Chaîne de responsabilité – lorsque les mêmes données passent par une série d’algorithmes pour trouver le bon. Une chaîne de responsabilité utilise une liste chaînée pour que les données soient transmises de chaque objet au suivant.

Traducteur – soit lorsque vous avez besoin de traduire des données, des règles de traitement ou des expressions. Un interpréteur utilise à la fois des opérandes et des opérateurs pour implémenter la même interface, en utilisant la composition pour créer des expressions.

Médiateur – quand il y a beaucoup de classes et que la communication entre elles est compliquée. Un médiateur contient une connexion à un objet médiateur, qui contient une liste d’autres objets avec lesquels il doit communiquer.

État – lorsque vous souhaitez qu’un objet se comporte différemment lorsque son état change. Un état permet à chaque état d’être un objet qui implémente la même interface, mais chacun utilise des algorithmes différents.

Modèle – lorsque vous avez besoin des mêmes étapes, mais qu’elles sont exécutées de différentes manières. Un modèle crée une superclasse avec des étapes sans avoir à implémenter chacune des étapes.

Visiteur – lorsque vous voulez séparer les algorithmes des structures d’objet sur lesquelles ils opèrent, mais que vous voulez pouvoir ajouter de nouvelles fonctions sans toucher à l’objet qui a la structure. Le visiteur vous permet de créer un objet visiteur avec l’algorithme et permet à la structure de l’objet d’être visible, puis élève les algorithmes du visiteur à travers les visitables.

Biographie de l’auteur

Bonjour, je suis Amanda Clark. Bloguer sur la technologie et les astuces informatiques est ma passion. Vous pouvez me contacter sur mon site 192168ll.net.

Martin

Laisser un commentaire