[Php-objetos] Curiosidad

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Mar 6 16:29:23 ARST 2009


Hola Jorge!

El jue, 05-03-2009 a las 19:29 -0300, Jorge Castorina escribió:
> Hola:
> 
> Mis disculpas por enviar esto al correo personal, pero no sabia si enviarlo 
> a la lista ya que no se trata de un ejercicio pedido aunque es un tema 
> relacionado con lo que vemos en el curso.

	Por la lista estaba bien (un mail sobre un tema del curso difícilmente
sea un mail personal). De paso fomentamos el profundizar conocimientos y
ayudar con prácticas de cosas del curso.

> Por pura curiosidad quise ver si habria entendido la forma de trabajar con 
> el modelo MVC. Ya habia visto algo en un tutorial en la web y metiendo mano 
> al ejemplo para usarlo con el ejercicio de los vehiculos me salio algo como 
> lo que mando.
> La pregunta obviamente es si tiene sentido y respeta al modelo (o estoy 
> ...... afuera del tarro).

	Tiene sentido. Le faltan un par de detalles, pero es una implementación
razonablemente "comparticionada" en MVC

	Los detalles son:

* index.php y vista_vehiculo_mvc.php son ambos parte de la vista. Por
tanto podrían estar integrados o en index.php un comentario indicando
que es parte de la vista (para que yo sepa que estás comprendiendo bien
de qué capa es esa porción de código y no por otro motivo)

* el detalle más importante es que la Vista, como tiene que conocer al
Modelo, lo que espera para saber qué mostrar es a una instancia de Auto,
y no la serie de strings que vos le estás enviando. En tu
implementación, la Vista no conoce al auto y le dará lo mismo que le
pases esos valores o cualquier otros. Y cómo pasarle una instancia de
Auto a la Vista si nuestros objetos todavía no persisten? Por ejemplo
vía una variable de sesión: en una sesión sí se puede guardar un Objeto.

Para ser puristas y hacer un ejemplo "de Libro", deberías escribir una
clase ControllerAuto que es la que tiene la responsabilidad de escuchar
la vista e interactuar con el Modelo. Tu implementación del control no
es reusable ni extensible.

Esto sin caer en el extremo de que la Vista sea otro Objeto, que sabe
mostrar el Auto que recibe como mensaje. Como vimos en clase, si
pensamos que el HTML son "Objetos muy simples", podemos pensar todo en
objetos y no escribir para no agregar nada interesante las clases de la
Vista.

> Gracias, Jorge 

	Gracias a vos por profundizar estos y temas y compartirlo.

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-objetos