Discussion: design pattern & JS

  1. #1
    Membre du Club Avatar de Katian
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2003
    Messages : 73
    Points : 56
    Points
    56

    Par défaut design pattern & JS



    Utilisez-vous des design pattern dans vos dev JS ? si oui lesquels ?

    Pour l'exemple, je suis tombé la-dessus : https://www.dofactory.com/javascript/design-patterns

    merci !
    Ubuntu depuis la 8.04
    Telegram : moi / Ubuntu Francophone / javascript Francophone / zebre

  2. #2
    Expert confirmé Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    juin 2010
    Messages
    2 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : juin 2010
    Messages : 2 504
    Points : 5 053
    Points
    5 053

    Par défaut

    Salut,
    ta question est assez vague, il faudrait commencer par donner ta propre définition de design pattern ou en français, patron de conception.

    Personnellement, le plus récent dont j’ai entendu parler, c’est RORO, même si pour moi il s’agissait juste d’un nom donné à une technique que j’utilisais déjà couramment sans savoir qu’elle en avait un.

    En fait, JavaScript est nativement riche en patrons, même si on ne s’en rend plus compte tellement on les a toujours sous les yeux. On peut considérer qu’une partie du code de tel ou tel patron est déjà mise en œuvre par le navigateur lui-même. On est fortement incité à les utiliser, car ça fait partie de l’esprit du langage.

    Du fait que les 23 patrons initialement définis dans la bible du GoF soient présentés sous forme de classes, et du fait qu’il n’y a pas de classes en JS, les patrons en JS ont une forme différente. Cependant, il y en a certains qu’on peut reconnaître facilement.

    De loin le plus évident d’entre eux est prototype, surtout si on utilise Object.create.

    La gestion d’évènements, et de manière plus générale les fonctions de rappel et tout l’aspect asynchrone qui va avec, sont considérés comme un patron par Wikipédia. On peut également y reconnaître observateur – encore plus évident avec les MutationObserver du DOM.

    Dans la même idée, l’arrivée des promesses et de la syntaxe async/await peut être considérée comme l’émergence d’un nouveau patron.

    ES6 reconnaît comme un itérateur tout objet qui implémente une méthode next respectant un certain protocole.

    Fabrique est massivement utilisé par le DOM : on écrit toujours document.createElement("a"), jamais new HTMLAnchorElement(). L’utilisation de fabrique permet également d’éviter le débat « est-ce que c’est bien ou mal d’utiliser new en JavaScript ? »

    Les objets littéraux (par exemple obj = {}) nous permettent de leur ajouter à la volée n’importe quel type de propriété. On peut considérer qu’ils sont une mise en œuvre de décorateur.

    Je vais m’arrêter là mais la liste peut être encore bien longue. Pour moi, reconnaître ce qui est la mise en œuvre d’un patron de conception et ce qui ne l’est pas est une affaire d’appréciation personnelle. Tout le monde ne place pas au même endroit la frontière entre un patron et une simple habitude de codage.

    Pour répondre précisément à ta question : oui, j’utilise des patrons de conception en JS, quand il s’agit de ceux que le langage met à ma disposition. Pour le reste, je ne me rappelle pas en avoir jamais mis en œuvre entièrement à la main – je n’ai jamais eu ce besoin.
    La FAQ JavaScript – Les cours JavaScript
    Un article du MDN n’a pas de version française ? Je peux peut-être le traduire, envoyez-moi un MP

    La touche F12 : l’outil indispensable à tout développeur JavaScript !

  3. #3
    Membre du Club Avatar de Katian
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2003
    Messages : 73
    Points : 56
    Points
    56

    Par défaut

    Watilin, c'est intéressant ce RORO, surtout ce kFunctionPipe...

    Cependant, il y en a certains qu’on peut reconnaître facilement.
    bien vu !

    Bref ta réponse est super complète Watilin merci !!
    Ubuntu depuis la 8.04
    Telegram : moi / Ubuntu Francophone / javascript Francophone / zebre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. [VS.NET] Les design pattern et DOTNET
    Par Nycos62 dans le forum Visual Studio
    Réponses: 4
    Dernier message: 22/10/2004, 14h44
  3. [Observateur] Précisions sur le design pattern Observer [UML]
    Par joquetino dans le forum Design Patterns
    Réponses: 2
    Dernier message: 07/10/2004, 22h35
  4. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    Réponses: 4
    Dernier message: 01/09/2004, 19h16
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo