Ir al contenido principal

Plantillas, motor de vista y pruebas unitarias ASP.NET MVC

Después de haber conceptualizado algunos punto importantes de ASP.Net MVC, quiero darles a conocer algunas de las bondades que nos presenta al momento de crear un proyecto -  como son los tipos de plantillas, el motor de vista y proyecto de pruebas unitaria (más adelante realizaremos un tipo de proyecto especifico de este tipo). 

En ASP.NET MVC como framework de app's (aplicaciones) web, debemos conocer la herramienta que nos permite utilizar todo su potencial, en este caso el Visual Studio, como IDE bastante extenso que debemos enfocarnos primeramente en las funcionalidades que nos permitan empezar a desarrollar nuestras aplicaciones. Es decir las Plantillas MVC es una de las herramientas de gran importancia al iniciar todo proyecto MVC.

Al elegir una de estas plantillas nuestro proyecto heredará algunas estructuras y archivos que nos sirven de base. Para poder elegir una plantilla, primero debemos crear un nuevo proyecto (mas adelante detallaremos como crear proyectos MVC), por ahora debemos hacer referencia a la ventana de Nuevo proyecto de ASP.NETMVC:


Tal como vemos en la sección de seleccionar un plantilla contamos con 6 tipos de plantillas disponibles, vamos a describir cada una de ellos para tener un entendimiento del escenario de nuestros proyectos que desea crear y aprovechar todo lo necesario y útil cuando decidamos utilizar una u otra implementación.

Vacía o Empty: Esta plantilla nos crea solo la estructura básica para tener el esqueleto de nuestra aplicación, es utilizada más que todo cuando ya sabemos que queremos y no necesitamos de los componentes que nos pueda generar Visual Studio; a pesar de ser básica esta plantilla incluye algunas librerías Javascript que nos pueden ser útiles.

Básica o Basic: Similar al enfoque anterior nos crea solamente la estructura de carpetas necesaria para levantar una aplicación con ASP.NET MVC, al ser tan básica esta plantilla, requiere que creemos todo lo que vayamos a utilizar prácticamente desde cero. En lo personal me gusta usar esta plantillar porque puedo definir mi propia estructura del proyecto.

Aplicación de Internet o Internet Application: Inicia donde había quedado la plantilla vacía, contiene todo lo necesario visto en la mencionada plantilla vacía, sin embargo nos incluye un controlador inicial por defecto que nos lleva al home de la aplicación y adicionalmente nos crea un AccountController, es decir, un controlador para manejar todo lo concerniente a registro de usuarios y manejo de sesiones.

Aplicación de Intranet o Intranet Application: Funciona muy similar a la Aplicación de Internet, solamente que difiere en que está configurada para utilizar la autenticación basada en Windows, que es más deseable cuando trabajamos entornos de Intranet.

Aplicación Móvil o Mobile Application: Es otra variación de la aplicación de Internet que nos ofrece, sin embargo esta plantilla nos trae el framework de Javascript Jquery Mobile, que es enfocado a plataformas móviles como celulares y tablets, adicionalmente las vistas vienen optimizadas para ser mostradas en dispositivos móviles.

Web API: Como su nombre lo indica esta plantilla viene especializada para crear APIs RESTful, es decir podemos generar rápidamente servicios Web para alimentar otras aplicaciones que necesitemos comunicar con nuestra estructura.

Los Motores de vistaen MVC son los responsables del renderizar el HTML de las vistas. Por defecto el framework MVC incluye dos motores: ASPX (WebForms) y Razor, pero no quiere decir que son lo único  existen hay muchos más como Spark, NHaml o Bellevue (por mencionar algunos - espero revisarlo en su debido momento) que podemos mencionar a colección de view engines - Motores de vista de nuestro proyecto.

Se considera cuando devolvemos un objeto ViewResult en una acción de un controlador, por ejemplo a través del método View, el framework itera sobre los motores de vista registrados y por cada uno de ellos intenta localizar la plantilla que corresponde con el nombre solicitado. El primer view engine que lo encuentre será el motor que renderizará la vista, dejando de iterar sobre los restantes.

Así mismo, cada motor de vistas tiene su propia lógica para buscar las plantillas, normalmente lo hacen a través del sistema de archivos, es decir, por ubicación física. Los motores WebForms (.aspx, .ascx) y Razor (.cshtml, .vbhtml) implementados en las clases WebFormViewEngine y RazorViewEngine respectivamente, buscan las plantillas por ubicación. Quiere decir concretamente buscan el nombre de la plantilla con un determinado nombre de extensión en diferentes directorios.

Si ejecutamos una acción de un controlador haciendo referencia a una vista que no existe, recibiremos como respuesta el error que no se encuentra la vista o no hay un motor de búsqueda (en el siguiente apartado detallaremos más a fondo).

Los Proyecto de pruebas unitarias, quizás sea una de las ventajas de mucha importancia que brinda el uso de ASP.NET MVC. Es decir se puede implementar fácilmente pruebas unitarias en la aplicación web. Esto resulta especialmente cierto en comparación con el modelo de páginas de formularios Web Forms de ASP.NET, donde las pruebas unitarias son más complejas y tediosas, porque es difícil aislar una funcionalidad específica y porque las pruebas de las páginas de formularios Web Forms requieren la invocación del servidor web y la ejecución de la canalización de las páginas completas. ASP.NET MVC se ha diseñado para poder realizar pruebas sin dependencias del servidor IIS, de una base de datos o de clases externas, un gran punto a favor los que lo hacen (bueno, hasta ahora no lo uso mucho que digamos, solo como para ejemplos pequeños).

En fin, con esto pretendo familiarizar un poco con el tema de las herramientas que nos ofrece el IDE de VIsual Studio enfocado en ASP.Net MVC, espero lo aprovechen.

Saludos, nos vemos en el siguiente articulo.

Comentarios

Entradas más populares de este blog

Habilitar Usuario HR Oracle

Al realizar la primera instalación del Oracle, el usuario HR por defecto está bloqueado y por ende no podemos loguearnos como dicho usuario, lo que debe hacer son los siguiente pasos, aplicables para Linux o Windows.
1. Conectarse como usuario system o sysdba + contraseña haciendo uso del comando connect.
Usuario: system
Password: xxxx 


2. Hacer uso  del comando alter user hr account unlock desbloqueamos la cuenta.
alter user hr account unlock;

3. Escribimos el comando alter user HR identified by hr; con esto estamos diciendo que la contraseña será hr.

alter user HR identified by hr;

4. Ahora testeamos la conexión con el comando - conn hr/hr@xe. Si deseas después de conectarnos se puede realizar un select a la tabla employees del hr.


Resultado del select realizado
5. Con todos estos pasos realizados ya podemos logearnos desde cualquier IDE como el usuario hr  y la contraseña hr que definimos en el paso 3. 
Para finalizar nos loguearemos con el IDE Oracle SQL Developer.

Espero les sea de utilidad,…

Usuario SYS y SYSTEM - ORACLE

Usuario SYS y SYSTEM
Ambos usuario son creados de forma automática al crear la base de datos ORACLE y se otorga el rol de DBA.

SYS (password por defecto: CHANGE_ON_INSTALL).
SYSTEM (password por defecto: MANAGER).

Lo que se recomienda es cambiar el password de ambos usuarios por el tema de seguridad.

SYS:
Todas las tablas y vistas para el diccionario de datos de la base de datos están almacenados en el esquema SYS. Estas tablas y vistas son críticas para el funcionamiento de la base de datos ORACLE. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipulados solo por la base de datos. Nunca se debería modificar algo o crear tablas en el esquema del usuario SYS.

SYSTEM:
El usuario SYSTEM se utiliza para crear tablas y vistas adicionales que muestran información administrativa, tablas internas y vistas utilizado por varias opciones y herramientas de la base de datos ORACLE. No se recomienda utilizar el esquema SYSTEM para almacenar tablas de interés para usu…

Parámetro de entrada y salida – PL/SQL

Parámetro de entrada y salida – PL/SQL:
Los parámetros de entrada y salida no son los parámetros de inicialización de la base de datos ORACLE. Los parámetros de entra y salida son utilizados mayormente en implementaciones de funciones, procedimientos almacenados o bloques de código bajo el lenguaje del PL/SQL, se considera que ambos parámetros (entra y salida) puedan realizar operaciones en el mismo bloque PL/SQL, es decir, si enviamos un parámetro de entrada hará que cumpla cierta operación y retornara los valores de salida de dicha operación procesada de acuerdo al parámetro de ingresado. Es de acuerdo al caso que nos presenta en la implementación.
Algo importante al definir los parámetros, es saber y considerar cuántos tipos de parámetro existe si solo hablamos de entrada y salida, en realidad mi determinación seria 3 tipos:

Parámetros:

IN – entrada
OUT – salida
IN OUT – entrada salida

Parámetro IN – entrada:
El comportamiento común de estés tipos de parámetros es estar siempre pendiente d…