MVVM
MVVM VIII Uso de IValueConverter para la transformación de datos en las vistas
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
Siguiendo con la serie de post de MVVM en este post vamos a hablar de cómo trabajar con los convertidores de datos. Los convertidores de datos son elementos que nos permiten hacer cambios en la forma en que son presentados los elementos en la vista, utilizarlos es realmente sencillo solo tenemos que hacer una implementación de IValueConverter que contiene dos métodos, Converter y ConverterBack el primero y el más comúnmente utilizado nos sirve para convertir datos de una propiedad en valores diferentes y funciona con el modo de notificación OneWay, el segundo por su parte nos permite regresar un valor a la propiedad en base al contenido de la propiedad del control que hayamos vinculado y funciona con el método TwoWay.

MVVM VII ICommand y DelegateCommand
· ☕ 5 minutos lectura · ✍️ Saturnino Pimentel
En esta serie de post hemos visto como el patrón MVVM nos ayuda a eliminar el code-behind de nuestras vistas propiciando así la reutilización de código, en este post veremos que además de poder vincular propiedades a nuestra vista hecha en XAML también podemos agregar funcionalidad a través de comandos, es decir, en lugar de solo recibir o enviar notificaciones también podemos atar funcionalidad. Para lograr esto necesitamos hacer una implementación de la interfaz ICommand, esta interfaz tiene tres elementos (dos métodos y un evento), estos elementos deben ser implementados para después vincularlos con los objetos que heredan del control ButtonBase que contienen una propiedad Command que nos permite hacer uso de una expresión de atado de datos con la implementación de ICommand, veamos el siguiente ejemplo.

MVVM VI El ViewModel
· ☕ 5 minutos lectura · ✍️ Saturnino Pimentel
Hoy nos toca ver el último de los tres componentes de MVVM que hemos visto a lo largo de esta serie de post el ViewModel. El ViewModel es el encargado de conectar a los modelos con la vista, de controlar la lógica de la aplicación y de manejar el flujo de navegación, como mencionamos en la analogía en el post anterior los ViewModels son todos los engranes y sistemas que permiten al conductor (usuario) dirigir al automóvil hacia donde el desea, es en los ViewModels donde concentraremos las propiedades que servirán para hacer el atado de datos con la vista, las implementaciones de ICommand para vincular funcionalidad y aquí llamaremos a los modelos para trabajar con los datos, por lo regular cuando trabajamos con un buen enfoque de MVVM los modelos terminan sirviendo para diversos ViewModels y un ViewModel van ligado a una vista, aunque pueden ser utilizadas por más de una de ellas.

x:Bind viene en camino
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Si bien aún (domingo 20 de Junio de 2015) no existe información oficial (con oficial me refiero a MSDN) sobre lo que viene para los desarrolladores con Windows 10, Microsoft nos ha dejado ver una serie de vídeos con avances de las nuevas características agregadas a la plataforma, en este post veremos una de estas nuevas características llamada atado de datos compilado (Bindings compilados). En el atado de datos tradicional se utiliza reflection en tiempo de ejecución para resolver las expresiones de atado de datos con el coste de recursos que esto implica, ahora con x:Bind que será una nueva sintaxis de atado de datos la evaluación se llevará a cabo en tiempo de compilación y el atado de datos será fuertemente tipado, con lo que al eliminar el costo del manejo de reflection obtendremos un mayor rendimiento.

MVVM V El modelo (Model)
· ☕ 4 minutos lectura · ✍️ Saturnino Pimentel
Siguiendo con esta serie de post sobre MVVM hoy vamos a hablar del modelo (Model), los modelos son los encargados de proveer la información a nuestros ViewModels es decir tienen la responsabilidad del acceso a datos y la lógica de negocios para que los ViewModels tengan la responsabilidad primordial de mostrar la información a través de la vista (View) y manejar la lógica de la aplicación. En este punto y para apoyarnos me gustaría hacer una analogía en la que utilizaremos las funciones generales de un automóvil el cual representará nuestra aplicación (repito es una visión muy simple de un automóvil).

MVVM IV Sistema de notificación de cambios
· ☕ 4 minutos lectura · ✍️ Saturnino Pimentel
Como hemos visto en los post anteriores XAML tiene la capacidad de comprender expresiones de atado de datos y la vista juega un papel primordial en la interacción con el usuario, pues bien por lo general esa interacción entre el usuario y nuestra aplicación produce cambios en la información que contiene nuestra aplicación, estos cambios ya sea por procesos de nuestra aplicación o por datos proporcionados por los usuario son manejados por medio de un sistema de notificación de cambios que permite a los componentes mantener el estado de la información actualizado según convenga.

MVVM III La vista (View)
· ☕ 6 minutos lectura · ✍️ Saturnino Pimentel
En el post anterior hablamos de la característica de atado de datos de XAML y vimos que es la característica sobre la que está basado el patrón MVVM, en este post hablaremos del concepto de vista (View), la vista es la parte de nuestra aplicación que trabaja de forma directa con los usuarios, es donde podremos dar formato a los datos para una mejor apreciación y en general crearemos nuestra experiencia de usuario que es tan importante hoy en día si queremos que nuestras aplicaciones triunfen.

MVVM II "Trabajando con atado de datos"
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
Por cuestiones de tiempo deje esta serie de post y hoy he decidido retomarlo, ¿Por qué? Bueno, con la llegada de Windows 10 se prevé un auge aún mayor en el uso de este patrón dentro de todo el ecosistema Microsoft, así que si tú tienes pensado o ya desarrollas sobre alguna de las siguientes plataformas WPF, Windows Store Apps, Windows Phone Apps y las futuras Windows Apps deberías tomarte el tiempo para aprender este patrón, ya que ten por seguro que el tiempo que no inviertes hoy en estudiar y aplicar este patrón el día de mañana lo pagaras con creces.

MVVM I "un poco de historia"
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
Hola compañeros. Como muchos de ustedes sabrán una parte fundamental del desarrollo de software son los patrones de diseño, los cuales nos permiten resolver problemas comunes dentro del ciclo de vida del software, la característica principal de estas soluciones debe ser la capacidad de ser aplicadas en distintas circunstancias obteniendo resultados similares, además de ser reutilizables facilitando con esto el desarrollo y la toma de decisiones. ¿Por qué son importantes los patrones de diseño?