Comment cela s'appelle t'il ?

Eléphanteau du PHP | 34 Messages

18 avr. 2009, 20:36

Voila mon problème : je suis en train de creer un petit framework php, et j'ai redigé un package ... mais je ne sais pas comment l'appelé.
L'idée est la suivante : le pattern Template correspond à des algorithmes dont les methodes sont définies pas héritage.
Mon "pattern" fait l'inverse: il étend les classes de manière automatique via des methodes predefines.

Par exemple, nous connaissons tous le bout de code fournit par php pour creer des singletons.
On trouve cela ici : http://www.manuelphp.com/php/language.o ... gleton.php
Disons que l'on appelle cette classe "MonSingleton" plutot que "Exemple"

Alors en utilisant la fonction
Lite::extend('Pdo', 'MonSingleton', 'PdoSingleton');

nous obtenons une nouvelle classe 'PdoSingleton', étendant 'Pdo' et implémentant le masque 'MonSingleton'.

En somme, c'est une sorte de pattern Template, mais "à l'envers".
Mais est-ce que cela porte un nom bien precis ?
Pour le moment, j'appelle cela des "design", mais seulement parce que j'aime bien ce nom.
:D
Modifié en dernier par Lirio le 18 avr. 2009, 20:57, modifié 1 fois.
These lines the last endeavor,
To find the missing lifeline.

ViPHP
ViPHP | 3300 Messages

18 avr. 2009, 20:46

barf tu devrais pas t'en soucier, je faisais du mvc 5 ans avant de savoir comment ca s'appelait :)
Fait du php depuis que ca existe ou presque :)

ViPHP
ViPHP | 5924 Messages

18 avr. 2009, 21:02

barf tu devrais pas t'en soucier, je faisais du mvc 5 ans avant de savoir comment ca s'appelait :)
Ah, j'ai fait la même avec l'AJAX :D

ViPHP
ViPHP | 4674 Messages

20 avr. 2009, 10:34

Hey :-),

Au passage, la construction dynamique de structure n'est pas possible en PHP. Je veux dire, tu ne peux pas générer une classe à la volée (sans plomber les perf'). Donc je suis curieux de voir le code de « extends » … :-k.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

20 avr. 2009, 10:44

Bah c'est de la génération de code tout ce qu'il y a de plus banal, ça ne devrait pas plomber les perfs du moment que c'est mis en cache.

Tiens, tant qu'on en est à présenter des trucs horribles-qui-ne-portent-pas-de-nom-officiel-sans-doute-parce-que-c-est-vraiment-caca, je vous présente l'héritage dynamique :
$classeMere = 'MaClasseAMoi';

class UneAutreClasse extends $classeMere // ah zut, c'est pas possible :(

// Qu'à cela ne tienne !

eval('class MaClasseIntermediaire extends '.$classeMere.' { }');

class UneAutreClasse extends MaClasseIntermediaire // wouhou :)
Pas mal dans le genre gore hein ? :P Bon on rigole on rigole, mais n'empêche que ça peut servir ;)

ViPHP
ViPHP | 4674 Messages

20 avr. 2009, 10:55

Euh, si tu as besoin de faire ça, c'est que tu as un soucis quelque part. On peut résoudre ces problèmes plus proprement … mais c'est sûr qu'on regrette le C++ et ses macros :-(.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 34 Messages

20 avr. 2009, 11:19

Bah c'est de la génération de code tout ce qu'il y a de plus banal, ça ne devrait pas plomber les perfs du moment que c'est mis en cache.
C'est l'idée. :D
:idea: C'est un peu comme l'ORM - on construit une fois, et l'on reutilise ensuite.

En fait, les designs servent essentiellement à augmenter un peu la réutilisabilité de mon code.
These lines the last endeavor,
To find the missing lifeline.