JavaRush /Blog Java /Random-FR /Modèles de conception en Java [Partie 1]
Ivan Zaitsev
Niveau 33
Киев

Modèles de conception en Java [Partie 1]

Publié dans le groupe Random-FR
Il s'agit d'un court article sur les modèles de conception en Java. Il n'y aura pas d'implémentation de modèles, il n'y a qu'une liste de modèles qui existent en Java et leur bref contenu. Il sera utile à ceux qui sont déjà dans le sujet pour la répétition et la généralisation. Ou, au contraire, pour ceux qui ont abordé les modèles pour la première fois – pour un tout premier aperçu du sujet, avant d’approfondir. Les modèles de conception (modèles de conception) sont des solutions prêtes à l'emploi aux problèmes de programmation fréquemment rencontrés. Ce n'est pas une classe ou une bibliothèque qui peut être connectée à un projet, c'est quelque chose de plus. Des modèles de conception adaptés à la tâche sont mis en œuvre dans chaque cas spécifique. Il ne faut pas oublier qu'un tel modèle, s'il est appliqué de manière incorrecte ou au mauvais problème, peut causer de nombreux problèmes. Cependant, un modèle correctement appliqué aidera à résoudre le problème facilement et simplement. Modèles de conception en Java [Partie 1] - 1Types de motifs :
  • générateur
  • de construction
  • comportemental
Les modèles de création fournissent des mécanismes d'initialisation, vous permettant de créer des objets de manière pratique. Les modèles structurels définissent les relations entre les classes et les objets, leur permettant de travailler ensemble. Les modèles comportementaux sont utilisés pour faciliter les interactions entre les entités. Générateurs :
  • Singleton - limite la création d'une instance d'une classe et donne accès à son seul objet.
  • Factory - Utilisé lorsque nous avons une super classe avec plusieurs sous-classes et, en fonction de l'entrée, nous devons en renvoyer une de la sous-classe.
  • Usine abstraite - utilisez une super usine pour créer une usine, puis utilisez l'usine créée pour créer des objets.
  • Builder - utilisé pour créer un objet complexe à l'aide d'objets simples. Progressivement, il crée un objet plus grand à partir d'un objet petit et simple.
  • Prototype - permet de créer un objet en double avec de meilleures performances, au lieu d'un nouveau, un clone renvoyé de l'objet existant est créé.
Structurel :
  • L'adaptateur est un convertisseur entre deux objets incompatibles. En utilisant le modèle d'adaptateur, nous pouvons combiner deux interfaces incompatibles.
  • Composite : utilise une seule classe pour représenter une structure arborescente.
  • Proxy - Représente la fonctionnalité d'une autre classe.
  • Flyweight - Au lieu de créer un grand nombre d'objets similaires, les objets sont réutilisés.
  • Façade - Fournit une interface simple pour le client, et le client utilise l'interface pour interagir avec le système.
  • Bridge - rend les classes concrètes indépendantes des classes d'implémentation d'interface.
  • Décorateur - Ajoute de nouvelles fonctionnalités à un objet existant sans s'engager sur sa structure.
Comportemental :
  • Méthode modèle - définit la base de l'algorithme et permet aux successeurs de redéfinir certaines étapes de l'algorithme sans modifier sa structure dans son ensemble.
  • Médiateur - Fournit une classe médiatrice qui gère toutes les communications entre les différentes classes.
  • Chaîne de responsabilité - permet d'éviter une stricte dépendance de l'expéditeur de la demande à l'égard de son destinataire, tandis que la demande peut être traitée par plusieurs objets.
  • Observateur - permet à certains objets de surveiller et de réagir aux événements se produisant dans d'autres objets.
  • Stratégie - L'algorithme de stratégie peut être modifié pendant l'exécution du programme.
  • Commande - L'interface de commande déclare une méthode pour effectuer une action spécifique.
  • État - Un objet peut modifier son comportement en fonction de son état.
  • Visiteur - utilisé pour simplifier les opérations sur les regroupements d'objets associés.
  • Interprète - Définit une grammaire de langage simple pour un domaine problématique.
  • Itérateur - accède séquentiellement aux éléments d'un objet de collection sans connaître sa représentation sous-jacente.
  • Memento (Keeper) - utilisé pour stocker l'état d'un objet, cet état peut être restauré ultérieurement.
En suivant le cours JavaRush, vous rencontrerez quelques modèles de cette liste. Je recommande les problèmes de modèles : 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... L'utilisation intelligente des modèles de conception conduit à une fiabilité accrue de la maintenance du code car, en plus d'être une bonne solution à un problème courant, les modèles de conception peuvent être reconnus par d'autres développeurs , ce qui réduit le temps passé à travailler avec certains codes. Modèles de conception en Java [Partie 2]
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION