WCSF – Parte 1: Diseño de la aplicación
En este post diseñaremos la aplicación que deseamos construir usando el Web Client Software Factory que explicamos en la entrada anterior.
La aplicación que queremos desarrollar es una página ASP.NET que permita ingresar y mostrar un lista de comentarios, el wireframe de cómo queremos que se vea nuestra aplicación es el siguiente:
Con esto nos damos una buena idea de lo que queremos lograr, es algo sencillo que nos servirá para nuestro ejemplo. Una vez que tenemos la idea inicial empezamos con crear una base de datos para guardar los comentarios, a continuación el script:
CREATE DATABASE CommentsWebClient
Go
USE CommentsWebClient
GO
CREATE TABLE Comments (
[Id] INT IDENTITY (1,1) PRIMARY KEY NOT NULL,
Name VARCHAR(100) NOT NULL,
Place VARCHAR(100) NOT NULL,
[Text] VARCHAR(250) NOT NULL,
CreatedOn DATETIME DEFAULT (GETDATE()) NOT NULL
)
GO
CREATE PROCEDURE GetComments
AS
SELECT [Id], Name, Place, [Text], CreatedOn
FROM Comments
ORDER BY CreatedOn DESC
GO
CREATE PROCEDURE AddComment (
@name VARCHAR(100),
@place VARCHAR(100),
@text VARCHAR(250),
@Id INT OUTPUT
)
AS
INSERT INTO Comments (Name, Place, [Text])
VALUES (@name, @place, @text)
SET @Id = SCOPE_IDENTITY()
GO
Una vez que tenemos lista nuestra base de datos, ahora sí a lo que nos interesa.. vamos a crear nuestro proyecto en Visual Studio 2008:
En VS2008 creamos un nuevo proyecto de tipo Web Client Software, lo llamaremos “CommentsWebClient”:
Una vez finalizado la creación, nuestro proyecto se verá así:
Como nos damos cuenta se crean de forma automática los elementos que dan soporte al patrón Model-Vew-Presenter.
Dentro de la carpeta “WebSites” de la solución está la plantilla inicial de nuestra aplicación ASP.NET, mientras que en la carpeta “Modules” se encuentran los presenters y las interfaces de cada una de nuestras vistas (las páginas .aspx). Por ejemplo la página Default.aspx posee su respectivo presenter “DefaultViewPresenter.cs” y la interfaz que implementa: “IDefaultView.cs”, pero qué significan todos estos archivo y para qué sirven?, bueno la respuesta es la siguiente:
Nuestra página Default.aspx implementa la interfaz IDefaultView, lo que significa que cualquier definición de propiedades, eventos o métodos que pongamos en la interfaz, deberá ser implementado por la página .aspx; esto es con el principal objetivo de que el presenter sepa qué métodos y propiedades está disponibles en la vista sin importarle la implementación concreta de la misma, de esta forma el presenter realiza las operaciones concretas y la vista provee de los datos de entrada necesarios. Aquí un diagrama de esta relación:
Por cierto el WCSF ha creado la aplicación ASP.NET con contenido de ejemplo lista para ser probada, si arrancamos nuestro proyecto podremos ver algo así:
Así que sin mayor esfuerzo ya tenemos una aplicación simple usando el patrón MVP, en la segunda parte de este tutorial empezaremos a escribir el código para el acceso a los datos, y Linq !! así como modificar la vista existente. Si tiene dudas sobre el WCSF o el MVP comenten y trataré de responderlas.
Septiembre 6, 2009 a 3:16 am
Muchas gracias por tu artículo, me ha sido de gran ayuda. ¿Cuándo realizarás la segunda parte?
Muchas gracias.