El poder del código solo es completo, si tenemos el conocimiento de como usarlo.
Busqueda local
sábado, 22 de enero de 2011
Modelo de validación
Nos ofrece un mecanismo por medio del cual podemos usar las DataAnnotations, que son reglas de validación declarativas que se pueden aplicar a propiedades y objetos.
La arquitectura nos permite usar incluso nuestro propio motor de validaciones, o implementar otros de terceros.
martes, 18 de enero de 2011
View Models
Desde mi muy particular punto de vista un ViewModel es una forma de organizar los datos que pertenecen a un modelo para que puedan ser presentados sin tener que exponer la entidad, incluso aun que dicha entidad no exista en la base de datos.
En nuestro Blog, un ViewModel es una clase especial que se crea para enviar los datos al view y que le permite al Controler realizar un automatic binding al momento de recibir la respuesta del usuario, a través del envió de la información.
Reglas de Validación y Reglas de negocio
Las reglas de validación son partes reusables de lógica, que llevan a cabo dicha validación sobre una entidad; misma que puede variar entre validación de integridad hasta validación de estado y cuya meta es realizar una validación sobre la entidad antes que alguna acción sea realizada con esta entidad.
domingo, 16 de enero de 2011
Validación de DATOS en el MODEL
No todo está perdido, hay una forma de extender las clases. En .NET podemos dividir una clase en diferentes archivos físicos usando la declaración PARTIAL . Las clases para las entidades dentro del MODEL creado por el ENTITY FRAMEWORK (EF) son parciales. Esto nos da la posibilidad de crear un archivo nuestro donde podemos crear propiedades que no existan a nivel de la tabla; y así tener propiedades de la clase que no requieren está en la base de datos.
Si estamos usando el EF es necesario crear Clases Meta Data, y aplicarle a esta clase las validaciones requeridas.
Como se crea un VIEW?
Acceso a Datos
sábado, 15 de enero de 2011
Controllers
Que es un Controller?
El controler es el responsable del flujo de la aplicación. Es el que recibe la solicitud para realizar alguna acción y es el que genera la respuesta adecuada. El controller es un tipo de clase especial que hereda del System.Web.Mvc.Controller. Los métodos que expone esta clase se denominan acciones. Y las respuestas pueden ser Views, Archivos, o Re direccionar a otro controler, etc.Expresiones Lambdas
Las expresiones lambda se utilizan en consultas de LINQ basadas en métodos.
CRUD
C.- Create o crear.
R.- Read o Leer (Consulta).
U.- Update o Actualizar.
D.- Delete o Borrar.
Contexto
Que necesito para acceder al Model?
Desde el punto de vista de MVC el model se encuantra en el contexto del usuario que este ejecutando la aplicación. Por lo que acceder a él debe ser bajo algún mecanismo que nos permita garantizar que dicho contexto sea el mismo sin importar desde que repositorio estemos realizando el acceso.Esto se debe a necesidad de asegurarnos que las transacciones automáticas que nos ofrece el Entity framework mantengan su integridad.
LINQ
Que es LINQ
Sin las siglas de las palabras en ingles: Language Integrated Query o lenguaje integrado de consulta.Es un proyecto de Microsoft que agrega consultas nativas semejantes a las de SQL a los lenguajes de la plataforma .NET, inicialmente a los lenguajes Visual Basic .NET y C#.
LINQ define operadores de consulta estándar que permiten a lenguajes habilitados con LINQ filtrar, enumerar y crear proyecciones de varios tipos de colecciones usando la misma sintaxis. Tales colecciones pueden incluir arreglos , clases enumerables, XML, conjuntos de datos desde bases de datos relacionales y orígenes de datos de terceros.
Repositorio
Genéricos
El uso de los genéricos es una de las más poderosas implementaciones del .NET, surgió en la versión 2 del Framework y nos permite parametrizar el tipo de que almacenan y manipulan, las clases, las estructuras, las interfaces, los delegados, y los métodosSi a una interface le agregamos el uso de Genéricos, el código se convierte en algo más poderoso, ya que podemos definir interfaces que no requieren que se establezca el tipo de los objetos en tiempo de diseño o codificación. Con el uso de los Genéricos, incluso el tipo de la clase que puede ser usado en la interface en tiempo de ejecución. Lo único que debemos hacer es cambiar el nombre de nuestra entidad, por la letra T mayúscula.
Interfaces
El concepto de clases abstractas e interfaces puede ser un poco confuso para los principiantes en la programación orientada a objetos ya que una clase abstracta sin ninguna implementación se ve cómo una interface, sin embargo existen muchas diferencias y similitudes entre ellas.
viernes, 14 de enero de 2011
Como agregar un modelo: Entity Fremework
Para que este tutorial se pueda realizar deben tener instalado el SQL, 2005 o 2008 y ejecutándose en el equipo. Además deben tener una base de datos para usarla de ejemplo.
Como crear el primer proyecto.
Por donde comenzar?
Cuando me veo en la necesidad de aprender una nueva tecnología, siempre empiezo por obtener un libro y el código de un ejemplo. La mejor forma de verificar lo que estamos leyendo y de validar el código que estemos escribiendo es por medio de la comparación.
Para aprender MVC en la primera versión encontré el sitio de Scott Guthrie llamado Nerd Dinner, en este sitio podemos ver la tecnología en ejecución. Además se puede conseguir el código fuente y podemos descargar el libro donde se explica lo necesario para poder entenderla y dar nuestros primeros pasos.
Hoy en día la versión 1.0 de MVC ya paso a la historia, sin embargo es un buen comienzo. El código de la versión 2 lo podemos obtener de esta dirección: http://nerddinner.codeplex.com/releases/view/45647
La aplicación podemos verla en esta dirección: http://nerddinner.com/
El libro podemos obtenerlo en esta dirección: http://www.wrox.com/WileyCDA/Section/id-321793.html
Es una aplicación muy interesante donde podemos aprender los secretos de la tecnología, podemos conocer los elementos, como se codifica, podemos seguirla paso a paso y de esa forma avanzar con la confianza suficiente para poder crear nuestro propio sitio.
Suerte.