Noticias Weblogs Foros Wiki Código

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

jordisan.net blog: sobre lo humano, lo divino... y lo técnico: desarrollo

Patrones de software, MVC y los teléfonos móviles

Octubre 21st, 2007 - [Enlace local]

Casi todos los que nos hemos dedicado en algún momento al desarrollo de aplicaciones reconocemos la importancia de mantener separados el contenido y la presentación; es decir, independizar qué hace la aplicación de cómo lo muestra al usuario. Yendo un paso más allá, el patrón MVC propone una separación del software en tres partes:

Esquema MVC (Model-View-Controller)

Muchos frameworks de desarrollo siguen este patrón, ya que las ventajas de esa separación son múltiples: la aplicación resulta más modular, más flexible, facilitando cambios en una de las partes sin necesidad de modificar el resto.

Por ejemplo, una aplicación desarrollada siguiendo ese patrón permitiría fácilmente cambiar el gestor de base de datos (el modelo) sin necesidad de modificar el resto de la aplicación; o desarrollar cada una de las partes de modo independiente; o acceder a la misma aplicación desde diferentes dispositivos como navegadores web o móviles, simplemente creando diferentes vistas.

¿Este patrón no queda del todo claro? ¿Sus ventajas no resultan tan evidentes? Puede que lo comprendamos mejor si establecemos un símil con algo que casi todos conocemos: la estructura de los teléfonos móviles.

Teléfonos móviles y el patrón MVC

¿De qué modo podemos identificar la estructura de un teléfono móvil con el patrón MVC? No me estoy refiriendo únicamente a las aplicaciones que puedan ejecutarse en un dispositivo de ese tipo, sino globalmente a todo el funcionamiento del teléfono. Y lo haríamos así:

Modelo MVC y teléfono móvil

Esta estructura, con la que tan familiarizados estamos, permite una flexibilidad importante; por ejemplo:

Incluso podemos intuir los problemas que se pueden producir cuando no se respeta esta separación:

La mayoría de móviles incluyen una agenda interna que permite almacenar contactos en la memoria del propio dispositivo, independientemente de la tarjeta SIM. Esto proporciona un mayor espacio disponible y nuevas funcionalidades, pero a costa de violar el modelo al incluir datos propios del modelo (la tarjeta SIM) en el controlador (el móvil); muchos hemos sufrido los problemas de tener contactos duplicados, no saber exactamente dónde están almacenados, o perder números que "se quedan" en un dispositivo viejo al migrar la tarjeta a un nuevo móvil.

En definitiva, una comparación entre el modelo MVC de desarrollo de aplicaciones y la estructura de los teléfonos móviles nos permite apreciar de un modo más claro sus ventajas y los posibles inconvenientes de no respetar esa separación entre datos, interfaz y lógica.

» Leer más, comentarios, etc...

Información legal y técnica