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 !
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 fan depuis la 8.04
monnaie libre
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
Touche F12 = la console → l’outil indispensable pour développer en JavaScript !
Watilin, c'est intéressant ce RORO, surtout ce kFunctionPipe...
bien vu !Cependant, il y en a certains qu’on peut reconnaître facilement.
Bref ta réponse est super complète Watilin merci !!
Ubuntu fan depuis la 8.04
monnaie libre
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager