Anuncios

Archivo

Posts Tagged ‘Visual Basic’

Programando por capas en Visual Basic .Net

Visual Basic logoHacía tiempo que no escribía nada relacionado con la programación. Si os soy sincero, estoy renovando mi forma de programar. Después de haber realizado unas cuantos programas en Visual Basic .NET con el IDE Visual Studio 2010, es cuando uno se da cuenta que se tiene que aplicar el dicho “renovarse o morir” de una forma radical.

Veréis, mi forma de programación, por muchos casos de éxito que haya tenido, es de todo menos limpia. Es decir, la programación no es optima. Cualquiera que tenga nociones de programación con muchos años de experiencia, sabrá que existe la arquitectura de capas, en que para una optima programación se exige que el software a desarrollar contenga 3 capas que son:

  • Capa de presentación
  • Capa de negocio
  • Capa de datos

Capa de presentación

Esta capa es la que ve el usuario final en su pantalla, sobretodo en aplicaciones totalmente enfocadas en la filosofia cliente-servidor.

Lo que ve el usuario final da lo mismo lo que sea, puede ser un formulario web, un formulario de Windows, etc…

Esta capa es la que permite la entrada de datos hacía el programa y a partir de allí que empiece la gestión de los datos.

Capa de negocio

Esta capa se considera el corazón del software. El programa tiene que pasar gran parte del proceso de datos en esta capa intermedia, ya que su función es muy importante: Aplicar las reglas de negocio para la gestión de datos.

Es decir, si por ejemplo tenemos un campo de texto en un formulario, tendremos un método que se encargue de pasar el dato que hay en la caja de texto hacia la capa de negocio. Esta analizará el texto si tenemos aplicado alguna regla de negocio (que no contenga numeros, que contenga una longitud predeterminada, etc…) y, si pasa el filtro, los datos pasaran a la capa de datos. Y en caso contrario, saltará un aviso de error para que se pueda corregir por el usuario.

Es decir, la capa de presentación solamente sirve para interactuar con el usuario. Una vez el usuario introduzca o interaccione con el programa, la capa de presentación pasa a un 2º plano, delegando el potencial del programa a la capa de negocio, tal y como estoy diciendo.

Capa de datos

Una vez los datos han pasado la regla de negocio, llega la capa de datos, en que los datos están preparados para ser guardados en una base de datos después de su correcto tratamiento. Y una vez guardados en la base de datos, se devuelve la confirmación del proceso. O en su caso contrario, saltará un error.

Por qué es tan importante la programación por capas?

Visual Basic .NET es un lenguaje POO (es decir, Programación Orientada a Objetos) desde su versión 2002, que fue el salto definitivo del antiguo y arcaico Visual Basic 6.

Este salto supone muchas ventajas, ya que permite la creación de clases (como indica su definición, permiten la Herencia, etc… ya lo explicaré más en profundidad en otra ocasión)

Y es aquí donde intervienen las capas, ya que las capas pueden ser conjuntos de clases y, en caso de ser un equipo de desarrollo de software, cada grupo se podría ocupar de programar una capa en concreto y así optimizar el proceso de mejoría en los programas, ya que se tardará menos tiempo en lanzar una nueva versión.

Es decir, puedes mejorar la capa de datos (mejoría en la gestión de consultas, etc….) sin que la capa de negocio se vea afectada, por ejemplo. Programar un poco por módulos.

Además, las capas no hacen falta que estén todas en el mismo ordenador, sino que en caso de tener una red LAN, cada capa puede estar en un PC distinto tal y como se puede apreciar en la siguiente imagen:

Programacion por capas

Y aquí es donde entra en juego la importancia de que una aplicación esté bien estructurada. Y dicho esto, aquí es donde pecan los programas que he realizado hasta ahora y que estoy reescribiendo para una mayor optimización de código. Será un proceso largo, tengo muchas dudas debido que lo estoy haciendo de forma autodidacta, pero bueno, la perseverancia es la clave…

De todos modos, aquí tenéis un ejemplo (en PDF) sobre como llenar un control Listbox usando la arquitectura en 3 capas y que va realmente bien para entender todo lo que he dicho hasta ahora: Enlace

Anuncios
Categorías:Programación Etiquetas: ,

Breve introducción a la programación – Consejos

21 septiembre, 2010 Deja un comentario

Tal y como prometí la vez anterior, estrené la sección de programación que podéis encontrar en la página homónima.

Introducción

Programar es un arte. Podría llamarse así ya que tu creas desde cero programas bajo un lenguaje. Es más, de hecho, la llamó así cuando tengo que explicar a alguien para que sirve programar y la importancia de ello.

Para poneros un ejemplo: Imaginad una persona que no hable tu idioma. Esa persona lo domina pero tu no, con lo cual, no puedes hablar con él. Poco a poco vas aprendiendo su idioma, empezando por la gramática, sus tiempos verbales; poco a poco, cuando empiezas a dominar ya empiezas a montar frases; de frases pasas a oraciones y de oraciones ya escribes textos.

Pues con programación pasa lo mismo. Yo empecé con C, la madre de todos los lenguajes de programación. Si aprendes C, aprenderás la estructura básica de la programación. Yo estoy especializado en Visual Basic .NET y, sinceramente como todo en la vida, me costó su aprendizaje. Recuerdo las clases con mi profesor en que no entendía nada. Pero poco a poco, con las prácticas que hice en su día en la academia (que ahora reviso y se podrían mejorar) vas entendiendo el porqué de ese bucle, el porqué crear una clase/modulo y el porqué, todo en conjunto, es lo que es: un programa.

Pero no todo termina en la programación. Mas tarde tienes la difícil tarea del mantenimiento de tu aplicación. Cuando entreis en el mundo laboral os daréis cuenta que:

  1. No vale eso de empezar a programar sin base. Antes de poneros delante del ordenador, coged siempre papel y boli y dibujad el diseño, escribid sin miedo, haced un brainstorm de lo que queréis hacer o lo que quieren que hagas. Piensa que el mejor programa empezó en un papel y, una vez plasmado en papel, programarlo será todavía más fácil.
  2. Tendréis que hacer un programa excelente (No vale que sea bueno, tiene que ser superior, con lo que la tarea del analista/programador requiere mucho esfuerzo. En este mundo no valen los errores ya que está en juego tu reputación como informático. Si programas con errores pierdes credibilidad y la posibilidad que te den mas tareas de programación. Con lo cual, una buena fase de testeo es primordial antes de lanzar la versión accesible para los usuarios)
  3. Evolutivos. Siempre tendrás que mejorarlo. Tus jefes te pedirán que en la siguiente versión haga X cosa que antes no hacía, con lo cual el programar también exige investigación (buscando como hacer esa cosa que quizá no sepas hacer)
  4. Depurarlo. Cuando te llamen de un departamento comentando que ese programa que has hecho falla cuando quieren realizar una tarea, tu deber es abrir el programa, reproducir el error y, si está bien programado, solucionarlo en un momento. De ahí la importancia que este muy pero que muy bien estructurado. El esqueleto de la aplicación tiene que ser solido, sin grietas (de ahí la importancia del punto 1)

Con lo cual, poneos cómodos y sobretodo, muy importante: Abrid vuestra mente. No os de verguenza preguntar el porqué ese bucle o que hace esa función. O porqué esa variable y no otra… Cuando dominéis el arte de la programación pensad en la siguiente frase que digo siempre a los usuarios cuando me piden si puedo programar alguna cosa para sus quehaceres diarios.

Todo se puede programar, el límite está en la imaginación

Post in english: Link

Categorías:Programación Etiquetas: , ,

Estrenada sección: “Programación”

13 septiembre, 2010 Deja un comentario

Seguimos de estrenos y ampliando el abanico de posibilidades que ofrece esta web.

Aparte de noticias, comentar que como informático, parte de mi trabajo se dedica a la programación de aplicaciones. Y para ello, quisiera compartir con todos vosotros ejemplos prácticos de como hacer alguna que otra rutina, función, bucle, etc…

Sin más, os dejo el enlace a la página: Sección “Programación”

Post in english: Link

Categorías:Programación Etiquetas: ,