Follow me @Tmeister

PureMVC :: ValueObjects

ESCRITO POR Tmeister EN March - 26 - 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.


package com.klr20mg.pureMVC.guestbook.model.vo
{
    [RemoteClass(alias="MessagesVO")]
    [Bindable]
    public class MessagesVO
    {
        public var idUnique:String;
        public var author:String;
        public var url:String;
        public var content:String;
        public function MessagesVO(author:String=null, url:String=null, content:String=null)
        {
            this.idUnique = ""
            this.author = author;
            this.url = url;
            this.content = content;
        }
    }
}

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


package com.klr20mg.pureMVC.guestbook
{
    import com.klr20mg.pureMVC.guestbook.model.vo.MessagesVO
    public class someClass
    {
        public function someClass()
        {
            var miVO:MessagesVO = new MessagesVO("Tmeister", "http://tmeister.net", "Este es un mensaje de prueba");
            trace(miVO)
        }
    }
}

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
class MessagesVO
{
    public $idUnique;
    public $author;
    public $url;
    public $content; 

    public function MessagesVO()
    {
    }
    public function mapObject($data)
    {
        $this->idUnique = $data["idUnique"];
        $this->author = $data["author"];
        $this->url = $data["url"];
        $this->content = $data["content"];
    }
}
?>

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 :)

VN:F [1.4.6_730]
Rating: 0.0/10 (0 votes cast)

Popularity: 8% [?]

 
Compartir

  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Faves
  • MySpace
  • Technorati
  • TwitThis
  • LinkedIn
  • Ping.fm
  • FriendFeed
  • Meneame
  • Twitter

Post Similares

9 Responses to “PureMVC :: ValueObjects”

  1. wxBct says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  2. OtNcf says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  3. OZjZp says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  4. RcWBQ says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  5. nTVJP says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  6. cXQmN says:

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

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)
  7. IUmhY says:

    Here, Look At This, Its Really HelpfulAmazing Website,

    VA:F [1.4.6_730]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply

Acerca de mi
Enrique Chavez

Enrique Chávez también es conocido como @Tmeister es un desarrollador, emprendedor, poeta y loco.

Geek autodeclarado y apasionado de todo lo que tiene que ver con tecnología y desarrollo.

Cuenta con una experiencia de más de 7 años en el ramo del desarrollo, creando, sobre todo, aplicaciones web en la empresa Sapotek.

A finales del 2008 crea, junto con 3 colegas, la consultoría llamada AureaCode, enfocándose a brindar servicios de desarrollo web en todas sus variantes.

Si necesitas algún tipo de información o consulta por favor no dude en escribir.

View Enrique Chávez's profile on LinkedIn

Carlos Enrique Chavez Garcia's VisualCV

RSS Feed

Links Patrocinados
Comunidad
Ya eres usuario?
Login
Ingresa usando tu cuenta de Facebook
Ultimas visitas
Powered by Sociable!
    Mini Posts
    Google indexa contenido externo de SWFs

    Google ha hecho el anuncion de que ahora puede indexar informacion externa de los SWF, con informacion externa se refieren a textos que se cargan al vuelo mediante archivos txt, xml, html.

    Toda la informacion al respecto la pueden encontrar en el anuncio oficial

    2009-06-19 13:04:14
    Cambiando de nuevo la cara

    De nuevo  cambiando la cara del blog, agregue unas cuantas ondas sociales, Login con Facebook, updates de Twitter, un Feedback más cómodo, así nos olvidamos de la vieja forma de contacto.

    Este será, de ahora en adelante, mi sitio principal Tmeister.net será solo una redirección a este dominio, aunque eso lo hare en unos días más.

    Enjoy. 

    2009-04-11 17:54:31
    Torneos de Poker 2do Lugar

    Segundo lugar en el torneo de US$1,000 garantizados, Balance +US$200, perdidas del dia -US$50, Ganancias totales el dia de hoy +US150 8)

    2008-11-23 23:32:30
    Video destacado