model-view-presenter

Retomando el tema de los tutoralies, dejare uno respecto al uso del patron de diseño Model View Presenter. Este patron es una derivacion del MVC y la diferencia radica en que aqui se utiliza Interfaces para representar las vistas de Usuario, dejando la programacion al Presenter (siguen habiendo la capa de Negocios y Datos como muestra el esquema de la 1ra figura).

Ahora, para nuestra Solucion .NET necesitamos representar el esquema del patron MVP en proyectos. Si leyeron y ejecutaron el tutorial de 3 Capas con Entidades, aqui se aplica el mismo concepto en cuanto a la creacion y referencias entre los proyectos. Pero aqui lo haremos con C# que es mas natural para manejo de POO.

En nuestra Solucion tendremos 5 proyectos: 1 Web, 1 Presenter (incluye el View), 1 de Entidades, 1 de Negocios y 1 de Datos. La capa de Servicio que se ve en el 1er esquema es para los Webservices que se pudiesen tener o necesitar.

Como dice el titulo del tutorial, tomare un articulo sobre la Creando Menús Dinámicos con ASP .NET 2.0 que actualizare para dejarlo usando el patron de MVP.

Primero que nada debemos crear la base de datos y la tabla que contendra los items del menu que alimentara nuestro control de Menu ASP .NET.

menu-tabla-01 menu-tabla-02

Los datos que tendra esta tabla seran ficticios para manera de uso didactico.

menu-tabla-05

Y aqui esta el procedimiento que nos traera los registros para nuestro menu.

menu-tabla-06

Si crearon bien la solucion .NET con los proyectos, en este punto del tutorial, deberian ver esta figura en su Visual Studio (aqui se uso el 2010).

menu-solucion-net-proyectos

Recordar que para esta solucion, se necesita 1 proyecto Web y 4 Proyectos de Librerias de Clases (Dll). Las referencias entre los proyectos son como muestra el esquema, salvo que el Presenter incluye las View.

Bueno aqui quedamos por el momento, en la 2da parte explicare la construccion de la solucion .NET como se hizo en el tutrial anterior.

atte.

TYDW

Como crear Menús Dinámicos con ASP .NET usando patron Model View Presenter (2da Parte)