Design pattern pour une factory

Résolu
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 12 juin 2009 à 22:39
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 16 juin 2009 à 14:13
Bonjour...

Je suis en train de finir un code poo en javascript et je bloque sur un truc... je voudrais donc votre avis d'autant plus que javascript n'est pas mon langage de prédilection et que, même si j'ai des bonnes notions en poo, la poo en javascript est à mon sens un peu particulière... .. .

Bref l'objet en question, qui est lui même une collection d'objets, agit comme une faktory on récupère un objet via une méthode et on travaille à partir de cet objet, jusque là rien d'extraordinaire... là ou je "bloque" c'est que je voudrait renvoyer un objet "neuf" sauf pour une propriété que je voudrais commune à tous mes objets... un peu comme une config qui serait commune à tous les objets... pour l'instant je fonctionne par clonage, pas par choix mais parce que je l'ai codé comme ça donc je voudrais votre avis voir si y a plus propre comme façon de faire... .. .

Voili voilou... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .

3 réponses

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
15 juin 2009 à 15:54
Bon et bien c'est fou comme le sujet semble intéresser du monde... .. .

Je pensais que ça changerais des helpHelloWorld habituels mais bon... faut croire que non... merci quand même... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
3
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
13 juin 2009 à 20:09
Et bhé... je vois que le sujet déchaine les foules... lol... .. . ;)

Allez un bout de code... ça peut aider pour donner un avi... voila ce que j'ai pour l'instant... ça tourne plutôt bien à voir si y a pas plus simple/propre comme façon de faire je suis preneur... .. .

varmaFactory = {
    commonVars : {},
   
    getNew: function() {
        varnewObj = newobjectModel();
        // j'étend mon objet avec certaines methode de ma factory
        [ 'maMethod', 'autreMethode'].forEach( function(copy) {
                newObj[copy] = maFactory [copy];
            }
        );
        // je met a jour ma propriété commune
        // je fais ça comme ça car je veux que les modifs de commonVars
        // via maFactory soient effective sur toutes mes instances mais pas l'inverse
        this.commonVars.forEach( function(copy) {
                newObj.commonVars[copy] = maFactory.commonVars[copy];
            }
        );
        returnnewObj;
    }
   
};

functionobjectModel() {
    // on controle si l'instance est appelée par la factory ou non
    if(arguments.callee.caller != maFactory.getNew ) {
       throw newError("objectModel can not be directly instancied");
    }
    this.commonVars = {};
}

Voila voila... les avis sont les bienvenues... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
16 juin 2009 à 14:13
Toujours pas d'avis... .. ?

@ tchaOo°

l'homme est un loup pour l'homme... .. .
0
Rejoignez-nous