Archivo

Archivo para Febrero 2008

Patron creacional Singleton

Febrero 29, 2008 faustol Deja un comentario

Dentro del conjunto de patrones creacionales uno de los más sencillo de entender e implementar es el singleton.

Propósito

Garantizar que solo se tenga una instancia y maneter un punto de acceso global a ella

Motivación: Muchas ocasiones necesitamos que de una determinada clase únicamente se pueda crear una sola instancia, en mi experiencia muy particular le he encontrado mucha utilidad en las aplicaciones móviles. Cuando tenemos una form creado en .net para dispositivo móvil este se crea con una x en la esquina, el cual no precisamente cierra la venta al hacerle click lo que ocasiona que si nuevamente llamamos al menú que despliega esta ventana nos creará otra instancia lo cual no es recomendable en aplicaciones móviles ya que la memoria tiende a saturarse, al implementar este patron lo que hariamos es mantener una sola instancia y al invocar nuevamente el form lo que hariamos es simplemente reactivar el formulario.

image

Estructura:

singleton-c-sharp

Participantes:

  • Singleton: Define la operación instancia que permite que se acceda a la instancia, esta es static.

Implementación:

untitled

   

¿Como sincronizar datos en aplicaciones móviles con .net?

Febrero 29, 2008 faustol Deja un comentario

Este tema de sincronización de datos en las aplicaciones móviles es el que posiblemente  nos hace doler la cabeza al momento de desarrollar una aplicación móvil.

mobilephonetoolscz002vd4

Existen varios mecanismos de sincronización como son:

  • RDA: Mecanismo de sincronización de datos cuando utilizas sql server para lo cual utilizas la clase SqlCeRemoteDataAccess, para lo que deberias tener sql server tanto en el dispositivo móvil como en el servidor. Si deseas utilizar otra base de datos en el servidor puedes utilizar Microsoft SQL Server 2005 Compact Edition Access Database Synchronizer, este te permite la sincronización con base de datos access. Link de descarga
  • Servicios Web(XML, REST): Podrias levantar un conjunto de servicios web los cuales los consumes desde el dispositvo móvil tanto para entrada de datos como para la salida
  • Entornos desconectados XML: Si deseas mantener independencia de cualquiera de las partes y manejar un entorno desconectado la mejor opción seria XML ya que lo puedes manejar las carga y descargas estos pueden ser administrados a través del SD de tu dispositivo.
  • GPRS, podria ser otra alternativa manejar flujos de información mediante la red de la telefónica pero ahi muchos puntos que evaluar aun.
  • Implementar servicios de red mediante sockets, suena bien pero gran trabajo por hacer.

Elegir la mejor alternativa depende del contexto en el cual estemos trabajando pero los medios son varios

ParrallelFX

Febrero 28, 2008 faustol Deja un comentario

Son las nuevas extensiones de .net para soporte multicore o multiprocesamiento. En la actualidad tenemos los famosos procesadores multicore pero como podemos utilizarlos de manera adecuada desde nuestro código?.

Que interesante poder escribir cosas como estas

Parallel.For(0, 100, delegate(int i) {
  a[ i ] = a[ i ] * a[ i ];
});

Las nuevas extensión funcionan sobre el famework 3.5, ahi les dejo el link en donde pueden encontrar mas información

http://msdn2.microsoft.com/en-us/concurrency/default.aspx