miércoles, 27 de mayo de 2009

Charla MVC desde cero en el MUG DONE!!

Ayer junto a mi secuaz de laburos freelance Rodrigo Obi-Wan Iloro tuvimos el agrado de dar una pequeña charla introductoria acerca de ASP.NET MVC en el Microsoft User Group, una vez más tengo que agradecerles a todos los que concurrieron y a la gente del MUG por su buena onda

Dejo la PPT que usamos ayer, voy a ir subiendo los ejemplos e intentar de explicar un poco junto con cada uno (remarco la palabra intentar, siempre prometo y no tengo tiempo después), así que enjoy. PPT ASP.NET MVC desde cero

UPDATE!!! Código de ejemplo

sábado, 23 de mayo de 2009

Alt.Net Argetina 09 Fotos

Con un poco de retraso pero aquí dejo el link a algunas fotos de Alt.Net Argentina versión 2009, la verdad es que fue muy bueno, intentaré dejar mis impresiones sobre las charlas en las que participé durante estas semanas

Álbun de todos Flickr

miércoles, 20 de mayo de 2009

¿Cómo hacemos una interface fluyente o fluent interface?

Cómo crear una fluent interface? o métodos que fluyen

Este pequeño post viene a colación sobre una pregunta acerca de un estilo interesante de diseño de fremwork las Fluent interface, están por todos lados jQuery, Moq, Rhino Mocks, por nombrar herramientas que nombré en este blog

Qué es una Fluent Interface, o interface fluyente?

Sencillo, es cuando podemos hacer llamadas a un metodo e ir encadenando llamadas sucesivas, por ejemplo en jQuery

$("div").draggable().resizable()

Es decir, llamamos a un método y el mismo nos permite hacer llamadas sucesivas a otros métodos. Interesante, pero cómo se hace? bien vamos directamente al código autodescriptivo

class Program
{
    static void Main(string[] args)
    {
        var fluent = new Fluent();

        //Lamamos a la clase "fluyente" repetidamente para ir agregando mensajes
        //por defector Console.WriteLine llama al método ToString que sobre-escrimos
        Console.WriteLine(
            fluent.AddMessage("hola ").AddMessage(" mundo").AddMessage("que tal?"));

        Console.ReadLine();
    }
}

/// <summary>
/// Esta clase tiene algunos método "fluet" o sea, "flueyente", todo el truco
/// está en que dicos métodos devuelvan una referencia el mismo objeto
/// o sea this
/// </summary>
public class Fluent
{
    StringBuilder _messageList = new StringBuilder();

    /// <summary>
    /// Los métdos "fluyentes" devuelven un objeto del mismo tipo
    /// que la clase que los contiene, en definitiva, devuelven
    /// el mismo objeto con this
    /// </summary>
    /// <returns>El mismo objeto que contiene el método</returns>
    public Fluent AddMessage(string message)
    {
        _messageList.AppendLine(message);
        return this;        
    }

    /// <summary>
    /// Sobre-escribimos el ToString para ver el resultado
    /// </summary>
    /// <returns></returns>
    public override string ToString()
    {
        return _messageList.ToString();
    }
}

Lo ejecutamos y mágia! Hasta la próxima

martes, 12 de mayo de 2009

Charla sobre jQuery en el MUG DONE - ppt

Recién llego de la presentación sobre jQuery en el MUG, la verdad es que estuvo muy bueno, al menos yo la pase bien :) . Gracias a todos los asistentes y a la gente del MUG, dejo la presentación que usé esta noche, en estoy días voy a subir los ejemplos de código como prometí, de paso voy a agregar algunas cosas que surgieron, como databindings para los objetos dom y tabs con AJAX.

Bajar archivo presentación (Skydrive)

UPDATE!!!

Código de los ejemplos