Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pattern decorator

Compréhension pattern decorator

    18 novembre 2023 à 20:13:38

    Salut a tous s'il vous plaît je n'arrive pas a mieux comprendre le pattern decorator s'il vous plaît un exemple concret avec décoration d'un JPanel.

    -
    Edité par ATAPONFOUET SONKENG PRINCE CARLOS 18 novembre 2023 à 20:15:55

    • Partager sur Facebook
    • Partager sur Twitter
      19 novembre 2023 à 12:31:04

      Qu'est ce que tu ne comprends pas, le concept ou comment l'implémenter?
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2023 à 11:31:43

        Le decorator est un pattern de type structurel, ca veut dire qu'il permet de modifier la structure de ton object, et ce au runtime.

        On va s'en servir pour ajouter ou retirer des fonctionnalités a l'objet en fonction des besoins.

        Un exemple concret serait de faire une app qui va envoyer des images sur des forums et réseaux sociaux:

        Forum A ne veut pas plus de 1024px de largeur.

        Forum B ne veut pas plus de 768px de largeur et pas plus de 512ko.

        Forum C ne veut pas plus de 256ko et accepte uniquement le format jpeg.

        Tu peux voir que pour combiner tous ces besoins, il faudrait pas mal de classes dédiées, avec en prime le besoin d'en recréer chaque fois qu'on veut ajouter un nouveau forum.

        Pour palier a ca on va utiliser un decorator pour ajouter ou supprimer ces fonctionalites en fonction du besoin du forum en question.

        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2023 à 19:36:42

          Merci beaucoup le concept est bien expliqué d'après tes explications le Design Pattern/Pattern Decorator permet d'ajouter les fonctionnalités dynamique a un objet sans modifier le code source vue tes explications

          L'implémentation sera  très facile en java.

          • Partager sur Facebook
          • Partager sur Twitter

          Pattern decorator

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown