IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Question existentielle] Les Design Patterns et JavaScript


Sujet :

JavaScript

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

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut [Question existentielle] Les Design Patterns et JavaScript
    Bonjour,

    j’apprends les patrons de conception en ce moment à la fac, et il y en a un que je n’arrivais pas à digérer, c’est Abstract Factory. Jusqu’à ce qu’un collègue, qui connaît mon goût pour JavaScript, me donne la comparaison avec la fonction createXHR qu’on peut trouver par-ci par-là dans les tutos sur Ajax.

    Du point de vue fabrique, la fonction createXHR renvoie un XMLHttpRequest qui peut être vu comme un supertype :
    • du XMLHttpRequest standard,
    • de l’activeX Microsoft.XMLHTTP,
    • de l’activeX Msxml2.XMLHTTP.

    Une comparaison au final totalement fausse mais qui m’a permis de comprendre le truc.

    Après ça, je me suis posé la question : était-ce si absurde ? Bien sûr, il y a de l’objet en JavaScript, et on peut y appliquer des patterns, j’en ai déjà vu faire.
    Mais est-ce dans l’esprit du langage ? Y en a-t-il parmi vous qui utilisent des patterns en JS, ou au contraire qui trouvent que c’est trop lourd ou trop moche ?
    J’aimerais avoir vos avis.



    (version incompréhensible du titre : « Les DP et JS » )
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Afin d'étayer un peu ce topic :
    [ame="http://www.slideshare.net/rmsguhan/javascript-design-patterns"]Javascript Design Patterns@@AMEPARAM@@ssplayer2.swf?doc=jsdesignpatterns-1234030069875897-3&stripped_title=javascript-design-patterns@@AMEPARAM@@jsdesignpatterns-1234030069875897-3@@AMEPARAM@@javascript-design-patterns[/ame]

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par Watilin Voir le message
    Bonjour,

    j’apprends les patrons de conception en ce moment à la fac, et il y en a un que je n’arrivais pas à digérer, c’est Abstract Factory. ...
    Une comparaison au final totalement fausse mais qui m’a permis de comprendre le truc.

    Après ça, je me suis posé la question : était-ce si absurde ? Bien sûr, il y a de l’objet en JavaScript, et on peut y appliquer des patterns, j’en ai déjà vu faire.
    Mais est-ce dans l’esprit du langage ? Y en a-t-il parmi vous qui utilisent des patterns en JS, ou au contraire qui trouvent que c’est trop lourd ou trop moche ?
    J’aimerais avoir vos avis.

    je ne vois absolument pas ce qu'il y a de faut ou d'absurde dans cette comparaison. oui l'implémentation di concept n'est pas celle qu'on ferait en java par exemple mais fondamentalement une méthode statique c'est qui sinon une fonction.
    la fonction create est donc bien une factory la seule différence elle n'est pas abstraite.

    Je ne vois pas ce que vient faire le langage dans les designs patterns.
    par définition un design pattern est indépendant de tout langage.

    faut-il les appliquer ? bien sur ça sert à ça.
    quelque soit la langage ? bien évidement.
    Faut-il se poser des questions avant d'en utiliser un ? toujours
    pourquoi ? simplement pour éviter des absurdités.

    JavaScript est un langage qui connaît nativement la notion d'objet et pas la notion de classe.
    beaucoup de designs patterns ont été pensé dans un contexte ou le langage ne connaît pas la notion d'objet (seulement d'instance donc à l'exécution pas dans le langage) et la notion de classe.

    le patron singleton par exemple sert à définir un objet unique dans un langage à base de classe.
    l'utiliser en javascript est une absurdité
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //pseudo code java
    class monSingleton {
     private self;
     public getInstance()
    }
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monSingleton={
      ...
    }
    le langage lui même construit des singletons.

    inplémenter le design pattern revient à construire la notion de classe sur la notion de prototype et de closure créer une classe qui implémente le design pattern singleton alors que le langue le fait en natif.

    sinon key/value MVC delegate etc.

    A+JYT

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

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Tiens ça me rappelle un truc que j'avais lu il y a quelques temps en ne comprenant qu'à moitié…

    http://code.activestate.com/recipes/...gleton-the-bo/

    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Quelques questions sur les design pattern
    Par JulienDuSud dans le forum C++
    Réponses: 8
    Dernier message: 22/04/2009, 21h41
  2. Recherche de doc sur les Design pattern
    Par MicroPuce dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 09/05/2005, 15h58
  3. qu'est-ce que les design pattern ?
    Par airseb dans le forum Design Patterns
    Réponses: 1
    Dernier message: 23/11/2004, 08h02
  4. [VS.NET] Les design pattern et DOTNET
    Par Nycos62 dans le forum Visual Studio
    Réponses: 4
    Dernier message: 22/10/2004, 14h44
  5. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    Réponses: 4
    Dernier message: 01/09/2004, 19h16

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