Bienvenido a Klr20mg

Cronicas de un desarrollador

Actualmente soy Jefe de Desarrollo del area Flash en Sapotek de México en la cual trabajo desde hace mas de 4 años. Desarrollando aplicaciones en Flash para Web mas comúnmente llamadas (RIAs)

Estas en : Blog » PureMVC :: ValueObjects
  • Decrease font size
  • Default font size
  • Increase font size
  • color default
  • color verde
  • color azul
PureMVC :: ValueObjects
AddThis Social Bookmark Button
Post2PDF Print
March 26th, 2008

Los ValueObjects son indispensables al momento de trabajar con MVC o sin el :).

Voy a tratar hacer una definición de los ValueObjects sin ser muy técnico. de ahora en adelante al usar VO me estaré refiriendo a los ValueObjects. Los puntos mas importantes de los VO son:

  1. Los VO son contenedores de información representada por una clase individual.
  2. Los VO son serializables, es decir, pueden ser enviados entre un servidor y un cliente mantenido sus propiedades.

Imaginemos que vamos a hacer un listado de mensajes para un guestbook, pero no sabemos quien, que o como nos van a proveer la información, lo único sabemos son los atributos que contendrá cada mensaje, estos son:

  • idUnique
  • author
  • url
  • content

Los mensajes siempre contendrán estas propiedades vengan de donde vengan.

Según el punto 1 esta información es representada por una clase individual entonces como nuestro cliente será hecho el FLEX creamos nuestro clase en AS3 la cual representara nuestros VO en el cliente.

Actionscript:
  1. package com.klr20mg.pureMVC.guestbook.model.vo
  2. {
  3.     [RemoteClass(alias="MessagesVO")]   
  4.     [Bindable]
  5.     public class MessagesVO
  6.     {
  7.         public var idUnique:String;
  8.         public var author:String;
  9.         public var url:String;
  10.         public var content:String;
  11.         public function MessagesVO(author:String=null, url:String=null, content:String=null)
  12.         {
  13.             this.idUnique = ""
  14.             this.author = author;
  15.             this.url = url;
  16.             this.content = content;
  17.         }   
  18.     }
  19. }

Hay 2 formas comunes de "poblar" los VO mediante el constructor, como en este ejemplo o mediante getters y setters, yo prefiero la primera.

Ahora vamos crear un VO a partir de la clase anterior

Actionscript:
  1. package com.klr20mg.pureMVC.guestbook
  2. {
  3.     import com.klr20mg.pureMVC.guestbook.model.vo.MessagesVO
  4.     public class someClass
  5.     {
  6.         public function someClass()
  7.         {
  8.             var miVO:MessagesVO = new MessagesVO("Tmeister", "http://tmeister.net", "Este es un mensaje de prueba");
  9.             trace(miVO)
  10.         }
  11.     }
  12. }

Con esto hemos creado un VO de acuerdo a la primera clase.

Los VO son "compatibles" entre el cliente y el servidor según el punto numero 2, y al usar AMFPHP, WebOrb entre otros podemos enviar arrays de VO's entre el server y el cliente sin ningún problema, pero entonces debemos de crear nuestros VO's en el servidor en este caso usando PHP para poder "mapear" esta información.

PHP:
  1. <?php
  2. class MessagesVO
  3. {
  4.     public $idUnique;
  5.     public $author;
  6.     public $url;
  7.     public $content;
  8.  
  9.     public function MessagesVO()
  10.     {
  11.     }
  12.     public function mapObject($data)
  13.     {   
  14.         $this->idUnique = $data["idUnique"];
  15.         $this->author = $data["author"];
  16.         $this->url = $data["url"];
  17.         $this->content = $data["content"];
  18.     }
  19. }
  20. ?>

Como pueden ver es el mismo concepto encapsular la información en una clase.

Con esto, repito, no importa si la información viene de archivos de texto, de un webservice, de una base de datos, siempre podremos almacenar, consultar y modificar la información mediante nuestros VO's.

Espero que con esto quede claro que son y para que usan los ValueObjects

Saludos :)

Comentarios

9 Comentarios en “PureMVC :: ValueObjects”

[...] ValueObjects [...]

.:: klr20mg ::. Una dosis diaria de …. » Archivos » Frameworks | PureMVC && Cairngorm | escribio el 26-March-2008 a las 11:41 pm

[...] ValueObjects [...]

.:: klr20mg ::. Una dosis diaria de …. » Archivos » Frameworks | PureMVC && Cairngorm | escribio el 26-March-2008 a las 11:41 pm

Please Review This Site, You'll Like It
Made in china mini digital software

wxBct escribio el 11-May-2008 a las 6:24 am

You Have To Check This OutGreat Job, by far Liked It The Most, business download free plan software, business download free plan software, =[,

OtNcf escribio el 22-June-2008 a las 2:14 am

I Like The Way You Present The Facts, business plan format free example, business plan format free example, 23236,

OZjZp escribio el 22-June-2008 a las 8:08 am

Really Enjoyed the site guys, butterfly cliff free in note time, butterfly cliff free in note time, >:-P,

RcWBQ escribio el 22-June-2008 a las 10:22 am

You Should consider this, c++ free learning, c++ free learning, 8[,

nTVJP escribio el 22-June-2008 a las 3:55 pm

Thank You Very Much For Showing This InfoCan You Look At THis?, call free italy mobile, call free italy mobile, 3822,

cXQmN escribio el 24-June-2008 a las 12:35 am

Here, Look At This, Its Really HelpfulAmazing Website,

IUmhY escribio el 24-June-2008 a las 6:13 pm

Leave a Reply

 Blog editado por:

Enrique Chavez aka Tmeister
Si los codigos de este sitio te han ayudado y gustas ayudar de alguna forma:

 Compra Links

 Suscribete


AddThis Social Bookmark Button

 Archivo

2008
2007
2006
2005
2004