Blog de Francisco Velázquez

otro blog personal

Archive for November 2009

Modelando el negocio

with one comment

Leyendo el libro de ASP.NET MVC 1.0, a parte de aprender un poco de MVC, estoy refrescando algunos conceptos de modelado de datos. Uno que me ha parecido muy interesante es la manera de modelar el acceso a datos. Para ello recomiendan que lo que actualmente en mi modelado es una clase entidad (aún sigo usando el motor de persistencia Gentle.NET), se recomienda que se divida en 3, siguiendo el patrón Repositorio.

– DomainClass
– IRepository
– RepositoyClass

Otro punto interesante es como se incluyen las reglas de validación y reglas del negocio en las clases del dominio.

public partial class Dinner { 

    public bool IsValid {
        get { return (GetRuleViolations().Count() == 0); }
    } 

     public IEnumerable<RuleViolation> GetRuleViolations() { 

        if (String.IsNullOrEmpty(Title))
            yield return new RuleViolation("Title required", "Title"); 

        if (String.IsNullOrEmpty(Description))
            yield return new RuleViolation("Description required","Description"); 

        if (String.IsNullOrEmpty(HostedBy))
            yield return new RuleViolation("HostedBy required", "HostedBy"); 

        if (String.IsNullOrEmpty(Address))
            yield return new RuleViolation("Address required", "Address"); 

        if (String.IsNullOrEmpty(Country))
            yield return new RuleViolation("Country required", "Address"); 

        if (String.IsNullOrEmpty(ContactPhone))
            yield return new RuleViolation("Phone# required", "ContactPhone"); 

        if (!PhoneValidator.IsValidNumber(ContactPhone, Country))
            yield return new RuleViolation("Phone# does not match country",
                                           "ContactPhone"); 

        yield break;
    } 

    partial void OnValidate(ChangeAction action) {
        if (!IsValid)
            throw new ApplicationException("Rule violations prevent saving");
    }
}

public class RuleViolation { 

    public string ErrorMessage { get; private set; }
    public string PropertyName { get; private set; } 

    public RuleViolation(string errorMessage) {
        ErrorMessage = errorMessage;
    } 

    public RuleViolation(string errorMessage, string propertyName) {
        ErrorMessage = errorMessage;
        PropertyName = propertyName;
    }
} 

Written by fravelgue

November 25, 2009 at 10:19 pm

Posted in development

Tagged with

ASP.NET Mobile

leave a comment »

Este es un post que me va a servir para hacer un pequeño recopilatorio de enlaces y revisar las distintas tecnologías disponibles para el desarrollo de mobile web usando ASP.NET. Además de poseer un enlace para poder usarlo en diversos foros.

En principio me gustaría incluir enlaces a los conocimientos y recursos básicos:  GAP un tuturial de Luca Passani, creador de WURFLw3c Mobile Web Best Practices, dotmobi Mobile Web Developer´s Guide, y Opera Web Standards Curriculum.

La primera aproximación y actualmente no recomendable sería usar controles móviles (System.Web.Mobile), aunque estos controles soportan renderizado en WML, cHTML, HTML y xHTML MP, están muy anticuados y no permiten usar características que cualquier móvil actual soporta. La detección de móviles por defecto se puede mejorar usando WURFL, siempre me gusto Marg.Wurfl.

En este último año parece que Microsoft ha comenzado a tener en cuenta la web móvil, y ha liberado su herramienta de detección de dispositivos: mdbf.

Debido a que los actuales dispositivos han mejorado muchísimo, creo que es mucho mejor usar ASP.NET para la web (webforms) que controles móviles. Para ello tendremos en cuenta que el renderizado sea xHTML MP y controlaremos el código generado para que no se abuse de javascript y el tamaño de las páginas no se haga muy elevado.

En la actualidad la mejor manera de desarrollar aplicaciones mobile web es usar MVC: Mobile Web Application toolkit. También son recomendables los siguientes videos. Incluso podremos desarrollar aplicaciones web para el iPhone.

Written by fravelgue

November 25, 2009 at 9:56 pm

Google compra Admob

leave a comment »

Written by fravelgue

November 9, 2009 at 7:58 pm

Posted in mobile marketing

Tagged with , ,

Detectar si es un dispositivo móvil usando WURFL

leave a comment »

Un simple recordatorio, via

if(is_wireless_device=false and device_claims_web_support=true) {
the request is from web browser
}

Written by fravelgue

November 6, 2009 at 9:01 am