[DBIx::Class] MaLib::Schema::Result::Livre a besoin de la lib globale
12 réponses
luc2
salut,
c'est djuuuuuuuuuur la conception !!!!!!!! oh la la... qu'est-c' qu'i'
faut et'e con pour vouloir en faire....
supposons que je veuille faire une lib globale qui gere plein de trucs,
qui manipule des entites, disons des livres pour faire concret.
j'instancie ma lib, je l'initialise, et c'est parti mon kiki :
my $lib = MaLib->new();
$lib->init();
mettons que je fasse une methode pour recuperer les livres :
sub get_livres
{
my $self = shift;
my $schema = $self->{_schema};
my @livres = $schema->resultset('Livre')->all;
return @livres;
}
je veux pouvoir recuperer des informations sur un livre :
my @livres = $lib->get_livres;
my $livre = shift @livres;
my $informations = $livre->get_informations;
je vais maintenant coder la methode "get_informations" :
vim lib/MaLib/Schema/Result/Livre.pm
sub get_informations
{
...
return $lib->get_informations( $self );
}
probleme : j'ai besoin d'une reference vers la $lib globale, et je n'ai
pas cette reference. pourquoi j'ai besoin de la $lib globale ? parce
qu'elle a initialise un element dont j'ai besoin pour recuperer ces
informations.
question : comment transmettre cette reference $lib a cet objet ?
Vont-elles varier au cours du temps ou non (ou ont-elles la même durée de vie que l'objet livre ou non) ?
les informations peuvent varier au cours du temps.
En conception objet, c'est surtout les durées de vie qu'il faut comparer (d'où la question).
la duree de vie des informations est inferieure a la duree de vie de l'objet.
Paul Gaborit
À (at) 18 Jun 2013 07:50:54 GMT, luc2 écrivait (wrote):
Le 17-06-2013, Paul Gaborit a écrit:
Vont-elles varier au cours du temps ou non (ou ont-elles la même durée de vie que l'objet livre ou non) ?
les informations peuvent varier au cours du temps.
En conception objet, c'est surtout les durées de vie qu'il faut comparer (d'où la question).
la duree de vie des informations est inferieure a la duree de vie de l'objet.
Sans en savoir plus sur ces fameuses informations, il est difficile de se prononcer... Si les durées de vie sont différentes, cela milite pour la création d'une classe d'objets qui stockent ces informations. C'est peut-être cette classe qui dervait avoir accès à $lib...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) 18 Jun 2013 07:50:54 GMT,
luc2 <luc2@nospam.invalid> écrivait (wrote):
Le 17-06-2013, Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit:
Vont-elles varier au cours du temps ou non (ou ont-elles la même durée
de vie que l'objet livre ou non) ?
les informations peuvent varier au cours du temps.
En conception objet, c'est surtout les durées de vie qu'il faut comparer
(d'où la question).
la duree de vie des informations est inferieure a la duree de vie de
l'objet.
Sans en savoir plus sur ces fameuses informations, il est difficile de
se prononcer... Si les durées de vie sont différentes, cela milite pour
la création d'une classe d'objets qui stockent ces informations. C'est
peut-être cette classe qui dervait avoir accès à $lib...
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) 18 Jun 2013 07:50:54 GMT, luc2 écrivait (wrote):
Le 17-06-2013, Paul Gaborit a écrit:
Vont-elles varier au cours du temps ou non (ou ont-elles la même durée de vie que l'objet livre ou non) ?
les informations peuvent varier au cours du temps.
En conception objet, c'est surtout les durées de vie qu'il faut comparer (d'où la question).
la duree de vie des informations est inferieure a la duree de vie de l'objet.
Sans en savoir plus sur ces fameuses informations, il est difficile de se prononcer... Si les durées de vie sont différentes, cela milite pour la création d'une classe d'objets qui stockent ces informations. C'est peut-être cette classe qui dervait avoir accès à $lib...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>