[bcn-pm] Pregunta sobre clases...

Alex Muntada alexm a alexm.org
dic gen 18 08:50:59 PST 2012


+ Jordi "Txor" Casas Ríos <txorlings a gmail.com>:

> Em sembla que el que necessito és utilitzar Roles de Moose.

Els rols defineixen el comportament que vols que tinguin
algunes classes en comú (a diferència de les interfícies
de Java, els rols també poden contenir dades pròpies).

> Suposem que la meva "vista" ha de cridar a un mètode del
> "controlador" que llegeix quines opcions hi han guardades al
> "model".

No sóc cap expert en MVC però jo sempre he pensat que era
el controlador qui crida a la vista i al model. El controlador és
qui controla l'acció, la vista és qui sap com presentar-la i el
model és qui sap com emmagatzemar-la.

Des d'aquesta perspectiva, el controlador pot cridar als rols
de la vista i del model segons li calgui, efectivament. Suposo
que es deu poder fer tal com tu dius però jo ho veig més clar
centrant l'acció al controlador.

> El "controlador" hauria de ser un role que consumeix la "vista"?
> O hi ha un role que presenta el mètode a la "vista" i apart el
> "controlador" l'implementa?

Els rols poden requerir una determinada implementació per
part del consumidor (com ara la classe LivingBeing del curs)
o poden proveir la implementació que ells vulguin (com ara la
classe CalculateAge::From::BirthYear, del la qual pots trobar
la implementació al Modern Perl Book), amb mètodes i
propietats específics del rol.

Salut!

-- 
Alex Muntada <alexm a alexm.org>
http://alexm.org/


Més informació sobre la llista de correu Barcelona-pm