Entradas

Mostrando entradas de marzo, 2012

El Patrón Model - View - ViewModel ( MVVM )

Imagen
El patron Model - View - ViewModel fue concebido por John Gossman allá por el año 2005 en un post de su blob titulado "Introduction to Model/View/ViewModel pattern for building WPF apps"( http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx ), siendo este una adaptación del patrón Presentation Model ( http://martinfowler.com/eaaDev/PresentationModel.html ) propuesto por Martin Fowlers para tecnologías .NET como XAML(como se conoce ahora al conjunto de herramientas para desarrollar en Windows 8), WPF y Silverlight. Este patrón junto a otros mas conocidos como MVC o MVP tiene por objetivo simplificar las tareas de desarrollo y mantenimiento del software escrito con estos a través de la división de ocupaciones, por lo cual alguien que ya haya trabajado previamente con alguno de los patrones previamente mencionados, le parecerá bastante familiar MVVM. Model El modelo, dentro de MVVM es el encargado de representar el modelo del negocio, proveyendo de esta ma...

Enviar Parámetros Personalizados a un Evento

En algún momento vamos a necesitar enviar parámetros a un evento, presupongamos que tenemos el siguiente escenario, tenemos una vista en WPF (XAML, con Code – Behind) y tenemos una clase llamada Persona. Supongamos que cuando sucede un evento determinado, como por ejemplo el cambio de alguna de sus propiedades, debe de avisarle a la vista que despliegue un MessageBox en pantalla con un mensaje. Para poder conseguir esto haremos lo siguiente; crearemos una nueva clase llamada "EventArgsWithMessage” que heredara de EventArgs: public class EventArgsWithMessage : EventArgs { public string Message{ get ; set ;} public EventArgsWithMessage( string _message) { this .Message=_message; } } El siguiente paso sera crear un “EventHandler” en nuestra clase Persona, de la siguiente manera: public event EventHandler ShowErrorMessage; Como siguiente paso dentro de la misma clase usaremos el siguiente código para realizar la ll...

Phalanger: PHP para .NET

Imagen
Phalanger es un compilador escrito en C#, para poder compilar PHP en MSIL. Phalanger tiene soporte para la versión 5.x de PHP, por lo cual podremos hacer uso de las funcionalidades de la Programación Orientada a Objetos. Entre las características más remarcables a mencionar de Phalanger y que serían los motivos para usarlo en contra de PHP nativo, sería que se tiene acceso a todas las clases de .NET escritas para C#, en otras palabras interoperabilidad simplificada con lenguajes .NET y el uso de un compilador Just in-Time en vez de un intérprete, lo cual significa un aumento de velocidad considerable. (http://www.php-compiler.net/benchmarks) El proyecto es OpenSource, por lo que pueden bajar los binarios o el código fuente de Codeplex (http://phalanger.codeplex.com/); el instalador es bastante intuitivo y se encarga de casi el 100% de las configuraciones necesarias para que podamos crear soluciones con este producto. El soporte de Phalanger para Visual Studio es bueno, no como p...

Libro Gratis para Windows Phone y Kinect

Les dejo estos dos buenos libros (es un decir por que son mas que eso), el primero para aprender a programar para windows phone y el segundo para aprender a programar con kinect. (El autor es el conocido Rob Miles). Windows Phone: http://www.robmiles.com/journal/2011/10/27/windows-phone-blue-book-available.html Kinect https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8938&c1=en-us&c2=0&Login =

Primer Vistazo a Visual Studio 11 Beta

Imagen
Visual Studio 11 Beta fue lanzado el miércoles 28 de Febrero del 2012, al mismo tiempo que Windows 8 Consumer Preview y después de usarlos durante unos días me gustaría contarles que tal esta!. Primero y antes que nada la versión de Visual Studio que estoy probando es la Ultimate, instalado en Windows 8 y que a decir verdad Visual Studio ha sufrido un cambio de imagen muy bueno, agregando muchos elementos al estilo metro, incluido el instalador: La instalación es bastante rápida y no necesita reiniciar el equipo en ningún momento algo sorprendente tomando en cuenta que en otras versiones era necesario reiniciar la maquina inclusive más de una vez. Ya dentro de Visual Studio se percibe en todo el cambio de imagen, todos los botones tiene un toque minimalista, las ventanas para la edición de código se sienten más limpias, inclusive el diseñador de interfaces se siente más fluido: Se ha agregado además un pre v...

Primera Impresión Windows 8 Consumer Preview!

Imagen
Durante el Mobile World Congress de Barcelona de este año (2012) se lanzó la Beta de Windows 8 denominada Consumer Preview. Después de haberlo estado probando las últimas 48 horas, se pueden percibir bastantes cambios con respecto a la anterior versión (Developer Preview) que fue lanzada a finales del 2011. Entrando en materia, se puede mencionar que esta versión tiene una estabilidad envidiable para una versión Beta, la compatibilidad de Drivers es muy buena (Tarjeta de Video ATI Radeon HD 5670 y Tarjeta de Sonido VIA integrada), los efectos gráficos funcionan de maravilla y la compatibilidad en cuanto a software es bastante alta, aunque cabe indicar que se nota un choque frente a las aplicaciones hechas para esta versión de Windows en el aspecto visual, aunque nada preocupante o molesto. Otro cambio bastante importante, pero que a la vez es fácil de acostumbrarse, es la falta del Botón Inicio, al que estamos acostumbrados desde Windows 95. En Windows 8 para acceder al “...

Problema con Apphangb1 iexplorer

Imagen
Por alguna extraña razón, cuando estaba navegando la web feliz de la vida, Internet Explorer   (IE9) dejo de funcionar correctamente, las páginas ya no se mostraban y el consumo de procesamiento se disparó hasta el 100% y después de un rato mostro un error etiquetado como Apphangb1, buscando la solución me encontré con las siguiente 2 recetas para tratar de solucionar el problema: La primera consiste en borrar los archivos temporales del sistema, junto con el historial de IE, los pasos para realizar esto son: 1.        Abrir una ventana ejecutar y poner: %Temp% 2.        Dentro de la carpeta seleccionar todo el contenido y eliminarlo; si algunos de los archivos no nos deja eliminar, los omitimos. 3.        Abrir las opciones de internet, poniendo en una nueva ventana ejecutar: inetcpl.cpl 4.        Dentro de la ventana, en la pestaña General, pulsar...