Patrones de diseño, buenasPracticas++

Bien, los patrones de diseño según algunos autores se pueden clasificar en 3 tipos:

  • Patrones de creación

Muestran la guía de cómo crear objetos cuando sus creaciones requieren tomar decisiones. Éstas se suelen resolver dinámicamente decidiendo que clases instanciar o sobre que objetos un objeto delegará responsabilidades.

  • Patrones estructurales

Describen las formas comunes en que diferentes tipos de objetos pueden ser organizados para trabajar unos con otros.

  • Patrones de comportamiento

Utilizados para organizar, manejar y combinar comportamientos. Nos permiten definir la comunicación entre los objetos de nuestro sistema y el flujo de la información entre los mismos.

Tipos de patrones de diseño

Esto de los patrones es particularmente importante porque ofrecen maneras inteligentes y ordenadas de programas por encima que funcione como sea, no, así como una casa debe ser bien construida y no empezar a levantar paredes a lo loco. Mas adelante iré comentando sobre cada uno.

Tomado vía Un poco de java

¿Qué pasaría si así como desarrollamos software jugáramos fútbol?

Imagen

¿Qué pasaría si así como desarrollamos software jugáramos futbol?

Tomando en cuenta que al igual que el Futbol, el desarrollo de Software tiene objetivos, tiempos límite y un equipo, en este artículo analizaremos a donde nos llevarían nuestras costumbres si jugáramos futbol en lugar de hacer software.

Aunque definitivamente estaríamos en una posición mejor en el Ranking de la FIFA tendríamos algunos inconvenientes sobre los cuales a continuación reflexionaremos:

El Dueño del equipo (Cliente) pediría un mínimo de 12 goles por partido para elevar el gusto por la afición (usuarios finales) y por ende se comercialice mejor. (al cabo que es bien fácil, solo es cuestión de meter un balón a la portería)El Director técnico (Gerente) el primer día de liga diría «Bienvenidos a todos a este equipo, ya tienen 25 goles de atraso».Al preguntarle el Capitán del equipo (Líder de Proyecto) al Director Técnico los horarios de entrenamiento diría «¿Pues qué no saben ya jugar futbol? ¿Para qué quieren entrenamiento(capacitación)? ¡ustedes jueguen jueguen jueguen!»

Al preguntarle el Capitán por las posiciones que jugará cada quien diría, el Director Técnico diría: «A ver… aquí se necesita flexibilidad, ¡¡todos deben de saber jugar en todas las posiciones!!!

Ya en el partido, en el medio tiempo el Director Técnico diría: «¿15 minutos de descanso? ah como les gusta perder el tiempo, ¡sigan corriendo!»

El Director Técnico solo se sabría el nombre del Capitán del equipo, no tendría idea de quienes son los medios y carrileros (programadores).

Los volantes (programadores) no le pasarían el balón a los delanteros (Analistas Sr.) a menos de que se los pidan por favor y bonito.

El árbitro (Auditor de Procesos) en vez de señalar faltas importantes que pongan en riesgo el partido les gritarían a los jugadores «¡Una calceta se te está bajando!», «¡Traes arrugada una manga!», «¡Traes lodo en las agujetas!»

Al preguntar el árbitro por qué nadie le hace caso, los jugadores dirían «Es que nos dijo el Director técnico que nos fueramos por la libre y que te ignoráramos porque nos quitas el tiempo»

De repente les meten gol porque no hay portero, al preguntar el Capitán por el Portero, uno de sus defensas le dice «Es que era becario y ya se fue»

Al llegar a la portería el delantero no sabría que hacer porque esa fase no la planeó.

No se tendrían estadísticas ni estrategias porque a nadie le gusta documentar.

Al preguntarle al Dueño del equipo sobre soluciones: ¡¡¡ Pues vamos a contratar jugadores por outsourcing y vamos a reunir presupuesto para traer de delantero a Miguel de Icaza y a Venkat Subramaniam de Director Técnico!!!!

Autora: Vanessa Amaya vanessa@sg.com.mx

Autora: Vanessa Amaya vanessa@sg.com.mx

Introducción a los patrones de diseño

Un patrón de diseño describe una solución particular  a un problema recurrente en un contexto especifico.

  1. Contexto: Una situación que da lugar a un problema
  2. Problema: El problema recurrente que se plantea en ese contexto.
  3. Solución: probada al problema.

Así pues los patrones vienen a ser como caminos seguros, por los cuales transitar cuando se está desarrollando. Hay 3 tipos de patrones de diseño:

  • Patrones de creación: Tiene que ver con la creación, inicialización y configuración de clases y objetos.
  • Patrones estructurales: Tienen que ver con la separación de la interfaz y el desacoplo de los objetos.
  • Patrones de comportamiento: Tienen que ver con la interacción dinámica entre clases y objetos.