sábado, 1 de marzo de 2008

Arquitectura de Software (hasta donde ir?)

Hace un tiempo me encontraba con amigos y ex compañeros de clase, (son los mismos) discutiendo sobre hasta donde es necesario meter cabeza en la arquitectura de un producto de software. Todos recordábamos los clásicos e imprácticos "obligatorios" de facultad donde justamente se calificaba si uno había aprendido patrones y daba la sensación, que cuanto mas compleja la arquitectura, mejor te iba a ir.

El tema es que ahora, con experiencia laboral en nuestras espaldas, no parecía tan obvia como antes la necesidad de un diseño detallado de la aplicación a desarrollar. Antes de proseguir quiero aclarar que el nivel alcoholico de la noche era bueno muy bueno, o sea, después de arreglar el hambre en el mundo, el calentamiento global y admirar el iPhone de Mateo (y tirarlo al suelo), es que nos pusimos a payar del asunto.

Por eso, y siguiendo con la discución, es que quiero compartir una experiencia de vida que me tocó vivir (?) hace poco. Resulta que allá por el 2002 empezamos con Carlitos un sistema para un cliente. En ese momento recién habíamos salido de facultad, por lo que metimos cabeza en el diseño y arquitectura como locos (nunca mas volví a invertir tanto tiempo en eso). Que la capa de presentación, que solo se comunica con la capa de lógica, que se comunica con la de persistencia que es la única que accede a la base, que la capa de "dominio" con objetos que pasaban la información entre las capas... en fin.

Pero resulta que la semana pasada tuve que separar esa aplicación que era un gran exe porque iba a necesita lógica de esa aplicación para hacer otra. Eso me llevó a tomar la desición de crear una dll con la lógica y que el exe mantuviera solo la capa de presntación (pantallas). Y acá es donde viene la "magia", después de tomar la desición, en 2 hrs tuve la aplicación andando nuevamente, esta vez accediendo a la lógica encapsulada en la dll. No sé, tal vez no sea nada del otro mundo, pero quedé muy contento con el resultado y sé que se debió a dos cosas fundamentales. Un excelente diseño inicial y un desarrollo acorde a este, que aunque parezca obvio, es algo que a veces tienden a alejarse.

En definitiva, contestando la pregunta incial... hasta donde ir? lo mas posible, y cuando ya estés podrido de diseñar y quieras empezar a picar código, dedícale un poco mas al diseño.

Salud Gastón!

No hay comentarios.: