Posteado por: itcorporate en: Enero 8, 2009
Para entender que es N-Layers (N-Layers correspondiendo a inumeras camadas logicas), basta pensar en camadas que van interligadas una con otra para separar codigo logico. Sirve mas para organizar nuestro codigo a la hora de crear una aplicacion web, para escalabilidad y desempeño de nustras aplicaciones.
Crear una aplicaciones robusta nos permita despues modificar nuestro codigo con mayor facilidad, reutilizar la logica para otras aplicaciones, por ejemplo separar la parte de UI (User Interface, Interface grafica de Usuario) a nuestro codigo para accesar nuestra base de datos, nos ayuda a la hora de modificar la parte del diseño grafico, asi no tendremos que modificar contenido de acceso a las funciones de nuestra DB. Facilitando nuestas vidas, tambien como el disempño de nuestras aplicaciones.
Si continuamos a programar las aplicaciones embutiendo nuestra logica para base de datos con la interface grafica, no estaremos realmente aprovachando toda la potencia de ASP.NET y estaremos programando con la misma metodologica que en la angituedad (ASP).
Uno de los muchos errores que encuentro en la Web en tutoriales, forums y ejemplos, que embuten todo sin esa basica separacion, creo yo, y en mi opinion, que estan dejando la escalabilidad y el potencial de de ASP.NET (asp.net fue creado para facilitar la vida del programador, y no complicarla).
Y yo con eso?
Bueno, si quieres aprender la manera de hacer aplicaciones web con escalabilidad, desempeño para que despues de un año, que necesites hacer un Upgrade en tu sistema, no tengas que te matar para entender tu propio codigo, es bueno tener en mente, siempre analizar bien la manera de como programar.
Las apolicaciones web pequeñas no harian mucha diferencia en la hora de escalabilidad y desempeño, pero si hara en la hora de reutilizar y hacer upgrade, aun en escala pequeña de la programacion. Los programadores deberian de dar importancia en la hora de ahorrarse tiempo despues para no tener que repetir el mismo codigo todo de nuevo. Tambien no estar procurando expandir codigos en un futuro (proximo o lejano) y dejar funciones dentro de la programacion inutiles (sin realmente en un futuro utilizar las funciones).
No existe un metodo exato para la manera correcta de programar con N-Layers. Pero aqui esta uno de los mas aceptados:
UI: Contendra todo nuestra logica para el usuario (cliente) final, ejemplos serian nuestro login en la hora de accesar la pagina, el diseño de nuestra aplicacion web etc. Podra contener Javascript / Flash y otras funcionabilidades para la interactividad con el usuario.
BLL: Contendra nuestra logica que paso por nuestra UI. Supongamos que un usuario maliciosamente deshabilite Javascript, para no pasar la validacion y poder hacer un ataque. En este layer nosotros colocaremos nuestra logica para poder validar el Input de nuestro UI que fue pasado por nuestra programacion logica asu vez este mandara nuestro codigo para nuestra DAL.
DAL: Contendra nuestra logica que fue pasada por nuestro BLL y hara la conexion con la base de datos para mandarle a nuestras procedimientos en nuestra DB.
Y asi como hacemos para pasar de UI -> BLL -> DAL, hacemos lo inverso DAL – > BLL -> UI.
En nuestro proximo post mostraremos codigos para crear nuestro N-Layer Application