CodeGym /Blog Java /Random-FR /Modèles de conception en Java [Partie 1]
Auteur
Edward Izraitel
Software Engineer at Champions Oncology

Modèles de conception en Java [Partie 1]

Publié dans le groupe Random-FR
Ceci est un court article sur les modèles de conception en Java. Il n'y aura pas d'implémentations de modèles, juste une liste de modèles en Java avec une brève description de chacun. Pour ceux qui connaissent déjà le sujet, ce sera utile comme examen et résumé. À l'inverse, ceux qui découvrent les modèles pour la première fois en bénéficieront comme un premier aperçu du sujet avant d'approfondir. Modèles de conception en Java [Partie 1] - 1 Modèles de conceptionsont des solutions prêtes à l'emploi pour les tâches de programmation fréquentes. 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 à chaque tâche sont mis en œuvre dans chaque cas spécifique. N'oubliez pas que lorsqu'il est appliqué de manière incorrecte ou à une tâche inadaptée, un modèle de conception peut créer de nombreux problèmes. Cependant, un modèle correctement appliqué peut vous aider à accomplir des tâches facilement et simplement.

Types de motifs :

  • créationnel
  • 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 de comportement sont utilisés pour simplifier l'interaction entre les entités.

Création :

  • Singleton — limite la création d'une classe à une seule instance et donne accès à cette seule instance.

  • Factory - utilisé lorsque nous avons une superclasse avec plusieurs sous-classes et que nous devons renvoyer une sous-classe en fonction de l'entrée.

  • Usine abstraite — utilise une super usine pour créer des usines, que nous utilisons ensuite pour créer des objets.

  • Builder — utilisé pour créer des objets complexes à l'aide d'objets simples. Il crée progressivement un grand objet à partir d'un petit objet simple.

  • Prototype — permet d'améliorer les performances lors de la création d'objets en double ; au lieu de créer un nouvel objet, il crée et renvoie un clone d'un objet existant.

De construction:

  • Adaptateur — un convertisseur entre deux objets incompatibles. Nous pouvons utiliser le modèle d'adaptateur pour combiner deux interfaces incompatibles.

  • Composite — utilise une classe pour représenter une structure arborescente.

  • Proxy — fournit les fonctionnalités d'une autre classe.

  • Poids mouche — réutilise des objets au lieu de créer un grand nombre d'objets similaires.

  • Façade — fournit une interface simple pour un client, qui utilise l'interface pour interagir avec le système.

  • Bridge — rend les classes spécifiques indépendantes des classes implémentant une interface.

  • Décorateur — ajoute de nouvelles fonctionnalités à un objet existant sans se lier à sa structure.

Comportemental :

  • Méthode de modèle - définit un algorithme de base et permet aux descendants de remplacer certaines étapes de l'algorithme sans modifier sa structure globale.

  • Médiateur — fournit une classe intermédiaire qui gère toutes les communications entre différentes classes.

  • Chaîne de responsabilité — permet d'éviter une stricte dépendance entre l'expéditeur et le destinataire d'une demande ; de plus, la requête peut être traitée par plusieurs objets.

  • Observateur - permet à un objet de surveiller et de répondre aux événements se produisant dans d'autres objets.

  • Stratégie - permet de modifier les stratégies (algorithmes) au moment de l'exécution.

  • Commande — une interface qui déclare une méthode pour effectuer une action spécifique.

  • État — permet à un objet de modifier son comportement en fonction de son état.

  • Visiteur — utilisé pour simplifier les opérations sur des groupes d'objets associés.

  • Interprète - définit une grammaire pour un langage simple dans le domaine du problème.

  • Iterator - accède séquentiellement aux éléments d'une collection sans connaître sa forme sous-jacente.

  • Memento — utilisé pour stocker l'état d'un objet ; cet état peut être restauré ultérieurement.

Au fur et à mesure que vous parcourez le cours CodeGym, vous rencontrerez quelques modèles sur cette liste. Je recommande les tâches suivantes concernant les patterns : 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Une utilisation judicieuse des design patterns conduit à une maintenance du code plus fiable, car, outre le fait que les design patterns sont de bonnes solutions aux problèmes courants , d'autres développeurs peuvent les reconnaître, ce qui réduit le temps nécessaire pour travailler avec certains codes.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION