8/2/2019 Ejemplo Aplicacion Capas V2008
1/13
.NET For Your InformationUn blog ms sobre tecnologa .NET
Desarrollo de Aplicacin en Capas con Visual Studio 2008con 12 comentarios
4 Votes
Continuando con el post de Introduccin a Programacin en Capas con Visual Studio 2008, elobjetivo del presente artculo es dar un pequeo ejemplo tcnico y mucho ms tangible del desarrolloen capas.
El objetivo de la aplicacin a desarrollar es ingresar personas a una base de datos, haciendo uso delos objetos de ADO.NET, y posteriormente calcular su edad.
Para lograr esto, empezaremos por definir la base de datos, la cual slo tendr la tabla persona conlos campos: nombre, apellido y fechaNac.
personaBD
Para efectos de este post no estoy considerando las mejores prcticas en la implementacin de base dedatos, dado que el objetivo es ilustrar la programacin en capas.
A continuacin, desarrollamos una ventana en el proyecto UserInterfaceWPF denominadaPersonaUI:
Para el desarrollo de esta ventana se utiliz el componente DatePicker para la seleccin de fecha denacimiento. Este componente forma parte de la extensin WPF Toolkit, que adems trae el
Page 1 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
2/13
DataGrid que no est incluido en el .NET Framework 3.5. Cabe destacar que el proyecto de iniciopor default debe ser el de la capa de presentacin. Para lograr esto hacemos click derecho sobreUserInterfaceWPF y seleccionamos Establecer como proyecto de inicio o Set as startup project.
Debemos recordar que para poder dar la funcionalidad requerida es necesario agregar las referenciasen cada proyecto. Para UserInterfaceWPF se debe agregar como referencia a MetodosNegocio yObjetosNegocio. Para MetodosNegocio se debe agregar MetodosAccesoDatos y
ObjetosNegocio. Y para MetodosAccesoDatos se debe agregar ObjetosNegocio. Por ltimo sedeben citar al inicio de las clases, por ejemplo, en la clase de la ventana PersonaUI se debe aadir:using ObjetosNegocio; y using MetodosNegocio;.
Desarrollando funcionalidad para la clase PersonaUI, donde estarn los manejadores de los botonesGuardar y Calcular edad:
El objeto PersonaON utilizado para definir al objeto persona, se refiere al objeto fuertementetipado del proyecto ObjetosNegocio, definido de la siguiente manera:
Page 2 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
3/13
Por otro lado, los mtodos de la clase PersonaMN utilizados para insertarPersona ycalcularEdad fueron definidos de la siguiente manera:
Page 3 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
4/13
De igual modo, los mtodos de la clase PersonaAD como insertarPersona o buscarPorNombrefueron desarrollados como se muestra a continuacin:
Page 4 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
5/13
Page 5 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
6/13
Como han podido observar, en los mtodos de acceso a datos utilic una connectionStringcompletamente legible. sta no es la manera ms adecuada de hacer uso de ella, sin embargo, estetema quedar para un futuro post. La forma ms fcil de generar una cadena de conexin es haciendouso del Server Explorer y del wizard que provee para realizar este tipo de actividades haciendo clickderecho en Conexiones de datos y Agregar conexin. Como siempre, har falta el nombre delservidor, instancia, base de datos, usuario y password.
Asimismo, tampoco se hizo manejo de excepciones, lo cual es parte importante de una aplicacin,tanto por robustez como por seguridad. Este tema tambin ser tratado en un prximo post.
La base de la solucin en el Solution Explorer debi quedar de la siguiente manera:
Por ltimo, pondremos en ejecucin la aplicacin desarrollada:
Page 6 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
7/13
Al hacer click en Guardar se almacenar a la persona en la base de datos, tal y como lo hemos
definido. Y al introducir el nombre Alejandro y hacer click en Calcular edad nos devolver suedad en das (tomando en cuenta que hoy es 14/08/2009):
Una vez ms, espero que este post pueda ser de ayuda para sus actividades como desarrolladores.Bienvenidos sus comentarios, sugerencias, o lo que tengan a bien.
ADVERTISEMENT
Page 7 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
8/13
Like this: Like Be the first to like this post.
Escrito por Alejandro Afonso Spinola
14 agosto 2009 a 1:19 PM
Escrito en Desarrollo en Capas
Etiquetado con ado, ado.net, c#, calcular edad, Desarrollo, Desarrollo en Capas, ejemplo, n-layer,programacion, programacion en capas, Visual Studio 2008, wpf
Utilidad de Windows Workflow FoundationEncriptar ConnectionString con Enterprise Library
12 comentariosSuscrbete a los comentarios mediante RSS.
1.
[...] Tema relacionado: Desarrollo de Aplicacin en Capas con Visual Studio 2008. [...]
Introduccin a Programacin en Capas con Visual Studio 2008 .NET For YourInformation
19 agosto 2009 a 5:08 PM
Responder2.
[...] en el ejemplo del post de Desarrollo de Aplicacin en Capas con Visual Studio 2008, nosdamos cuenta que una de las posibles formas de utilizar el ConnectionString es en el [...]
Encriptar ConnectionString con Enterprise Library .NET For Your Information
19 agosto 2009 a 9:18 PM
Page 8 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
9/13
Responder3.
saludos aLejandroPodemos ver un ejemplo de tu ejerciciopara los somos novatos, en estos temas
Roberto
8 noviembre 2009 a 12:36 PM
Responder
Hola Roberto. Si te refieres a un ejemplo de programacin en capas, ste precisamente esbien sencillo y est orientado a aquellos que quieran empezar a programar de esta forma.
De todos modos, si tienes alguna pregunta, no dudes en escribir. Saludos.
Alejandro Afonso Spinola
8 noviembre 2009 a 10:31 PM
Responder4.
Has creado una clase que contenga las operaciones de la coneccion usando Enterprise Library
Data Access Block?
Luis Ffernando
4 marzo 2010 a 11:33 AM
Responder
Estoy usanso ADO .Net Entity Framework.y la verdadcreo que debera ver terminado el ejemplo de los post para orientarme,podras ayudarme?
Juanma
31 marzo 2010 a 2:37 PM
Page 9 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
10/13
Responder5.
Buenas, estoy creando una aplicacion de escritorio en 3 capas y he seguido la estructura delprimer post. Estoy utilizando MySQL como SGBD. En cuanto a la parte de datos tengo unaduda..para crear la conexion a la BD mediante Datos->Mostrar origenes de datos->agregarnuevo origen de datos, en que proyecto habria q crearlo?en presentacion, logica de negocio o
acceso a datos?y si es en logica de negocio en cual de los dos,objetosNegocio ometodosNegocios?.Es que se tiene que crear en un proyecto en concreto.Otra pregunta seriasi se hace de esta forma la conexion a la BD, ya no hace falta escribirninguna clase en C# con la conexion ni nada o como seria?Un saludo y gracias de antemano!
Juanma
23 marzo 2010 a 9:44 PM
Responder6.
Saludos,
Muy bueno el tutorialTengo un poco de experiencia en C# y la verdad que hace mucho queria conocer ciertos detallesde esta tecnica de programacion.
Pero, tengo una pregunta
La programacion en capas admite el uso de LINQ? de ser asi, como aplicarlo?
Muchas Gracias,
Richard
28 abril 2010 a 8:11 PM
Responder
Hola Richard. La principal caracterstica de la programacin en capas es su flexibilidad,por lo que s admite el uso de LINQ. Cada desarrollador es encargado de decidir cmohacer encajar cada herramienta que decide incorporar, aunque yo en tu lugar lo hara en lacapa de acceso a datos, dado que LINQ precisamente se encarga de todas las operacionesCRUD de interaccin con la BD.
Page 10 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
11/13
Alejandro Afonso Spinola
29 abril 2010 a 4:27 PM
Responder7.
hi alejandro alfonso muy bueno tu post me encante y te agradeseria muchisimo si me isierasllegar el preoyecto completo par poder tenerlo como guia en mis proyecto y una pregunta seriaposible que me pudieces ayudar con un pequeo problema que tengo .quisiera realizar un formulario de conexion para mi proyecto y osea don pueda introducirservidor, usuario,la clave,base de datos me digieron que utilizara odbc pero me confundi masporque tengo que crear un odbc por codigo o manualmente la cuestion es que cuando lotengaque instalar en cualquier ordenador este formulario busque dicha conexion y poder habilitar elproyecto y todas las funciones que tengo ahi dentro te lo agradeceria mucho ha.. y para estoi esnecesario crear una nueva capa que se llamari a de conexion? grasia por elerlo y espero turespuesta que dios te bendiga
omar10031980
10 julio 2010 a 5:59 PM
Responder8.
holami consulta es la siguientetoy programando un sistema pero para sitio web.
con respecto a las capas tengo una llamada CapaDatos y otra Capanegocio.como puedo poner las referencias de cada y en donde?
salomon
23 julio 2010 a 3:29 AM
Responder9.
Muy buen tutorial, me sirvio muchisimo y ahora estoy programando con capas y la verdad hequedado muy contento usando capas.
Saludos desde Mxico.
Javier Medina Cervantes
Page 11 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
12/13
Recibir siguientes comentarios por correo.
Recibir nuevas entradas por email.
Publicar comentario
3 noviembre 2010 a 7:49 PM
Responder
Deja una respuesta
Alejandro Afonso Spinola
Temas
Elegir categora
Comunidades
Microsoft Bloggers
Enter your comment here...
Correo electrnico (required) (Not published)
Nombre (required)
Web
Page 12 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information
24/08/2011http://dotnetfyi.wordpress.com/2009/08/14/desarrollo-de-aplicacion-en-capas-con-visual- ...
8/2/2019 Ejemplo Aplicacion Capas V2008
13/13
Noupe
Developing
4 Guys From RollaCode ProjectCoding HorrorStack Overflow
Productividad
Goodlife ZENmnmlist: the essentialsZen Habits
Revistas
CodeMSDNWired
Suscrbete a dotNetFYI
Podrs recibir notificaciones de nuevos posts por correo electrnico.
Registrarse
Blog de WordPress.com. Theme: The Journalist v1.9 by Lucian E. Marin.
Page 13 of 13Desarrollo de Aplicacin en Capas con Visual Studio 2008 .NET For Your Information