DataMapper pattern: una mirada hacia el futuro

mapperDataMapper: este principio tan sencillo sería la manera estándar de proceder con el modelado de clases. Es lo que se denomina “DataMapper Pattern Design”, aquí muy bien explicado por el amigo Martin Fowler.

  • Por ejemplo, la clase “Usuario.php” se denomina en la red “capa de dominio” (Entidad) Se trata de una clase para mantener los metadatos (atributos) del objeto.
  • la clase “UsuarioModelo.php” sería el “mapeador” (Mapper) de la clase Usuario.php. El mapper contendría los métodos básicos para la interacción con la bbdd, métodos del CRUD: add, delete, edit, list.

Otras funciones del objeto como la caché, la validación, autenticación de usuarios irían a través de objetos en la capa de servicios (decoradores).
Una visión global y básica de todo esto puede verse en estos interesantes slides.

En Zend Framework ya están trabajando en un proposal para gestionar el modelado de clases de una forma aún más eficiente: las clases de la capa de dominio heredarán de una nueva clase nativa de Zend llamada Zend_Entity. Por otra parte los mappers heredarán de Zend_Mapper. A esta nueva orientación se le denomina Domain Driven Design (DDD). Estoy siguiendo el tema con este libro y la verdad es que todo tiene muy buena pinta, aunque a día de hoy no tengo clara la implementación de lo que ellos llaman “Repositorios” (una especie de “saco” con registros relacionados de una entidad?) o la relación del DDD con el Zend_Db_Table, que tan buenos beneficos da con el uso de métodos como el “findManyToManyRowset(….)“.
Esta nueva implementación de Zend parece que aún tardará un poco, como se puede ver el en milestone del proposal, aún quedan muchos tasks pendientes.

Bueno, no os aburro más, sigamos en la lucha. Si alguien tiene una idea más clara de cómo enfocar y encuadrar todo esto y desea compartirla…. se agradecerá.

Saludos a todos.

Anuncios

Acerca de olagato

Geek, self-taught & passionate LAMP dev since last century. Loving Open Source, Kubuntu, Android, Synology, PLEX, SciFi, Mythology & fan The Lord of Rings.

Publicado el noviembre 3, 2009 en Desarrollo Web y etiquetado en . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Casa Landa de Gallués

Sus lugares, gentes, costumbres...

PHP Libraries, API's and Frameworks

All about PHP's Resources, Libraries, API's and Frameworks.

A %d blogueros les gusta esto: