Que es un patron de disenio?
Segun wikipedia un patron de disenio es una solucion reusable a un problema comun en el disenio de software. Para mi, un patron de disenio es la forma correctar de hacer las cosas, normalmente esta forma correcta no es correcta solo por serlo, si no que los patrones de disenio traen beneficios evidentes, como lo son, codigo mas legible y ordenado, entre otros.
En esta serie de tutoriales, que espero tener tiempo para finalizarlos, les voy enseniar lo que son los patrones de disenio, si aprenden a dominar los conceptos les va facilitar la vida, y si nunca lo emplean, por lo menos van a poder impresionar a alguien porque la palabra patrones de disenio se oye bastante rebuscada.
Como ingeniero me han enseniado a simplificar las cosas lo mas que pueda, por lo que voy a tratar de hacer las explicaciones lo mas simples posibles. Por alguna razon los programadores tienden a complicarse la vida, pero el que complica las cosas es el que no sabe lo que esta haciendo. Para mi existe una relacion entre la simpleza y la sabiduria, y entre mas simples se hacen las cosas, mas conocimiento se tiene de lo que se hace. Por lo tanto, voy a tratar de que mis explicaciones sean simples, para que cualquier persona las puedan entender.
De que les va servir esto?
Bueno pues para empezar cualquier empresa seria usa patrones de disenios en su codigo. Les puede servir en mas de alguna entrevista de trabajo, con que sepan que es un patron de disenio seria suficiente.
Patron Numero Uno: ACTIVE RECORD.
Traducido literalmente de espanio a ingles, quiere decir “Registro Activo”, record es registro, y se refiere a los registros de una tabla de la base de datos, osea una fila.
Vamos a empezar con el primer patron de disenio, el patron active record. En palabras simples, el patron active record se refiere a que por cada tabla que yo tengo en mi base de datos, yo debo tener una clase con los mismos campos que mi tabla. Por ejemplo, si yo en mi base de datos tengo una tabla que se llama “Personas”, la cual tiene las columnas nombre, apellido, edad y sexo, entonces yo en mi codigo debo tener una clase que se llame “Persona” (noten que el nombre de la clase es singular, al contrario de la tabla que es plural, esto es porque mi clase Persona representa una fila de la tabla nada mas) con un campo de tipo String que se llame nombre, otro que se llame Apellido y un campo de tipo Int(entero) que se llame edad.
Este patron es usado en la mayoria de herramientas de mapeo objeto-relacional (ORM) tales como Hibernate, Subsonic, Ruby on rails, django. Este patron es bastante conocido en Ruby on rails, ya que este framework lo trae integrado de por si para la persistencia de datos. Si no saben que es persistencia de datos, es el metodo que se utiliza para guardar la instancia de una de mis clases en la base de datos. Por ejemplo, tengo una instancia de mi clase Persona creada en mi codigo, segun el patron active record, esta instancia representa una fila de mi tabla en la base de datos, cuando decimos persistir, quiere decir que yo voy a guardar la informacion de mi clase en una nueva fila en mi tabla Personas, por darles un ejemplo del codigo se veria parecido a este:
Persona persona=new Persona();
persona.Nombre=”Roberto”;
persona.Apellido=”Yudice”;
persona.Edad=21;
persona.Save(); // En esta linea estoy persistiendo mi clase a la base de datos.
Como veran, en la ultimo linea llamo al metodo Save(), que seria la funciona que persite mi clase en la tabla personas de la base de datos, osea el equivalente a ejectuar INSERT INTO personas(nombre,apellido,edad) VALUES(‘Roberto’,'Yudice’,21).
Esto es todo, por favor pongan sus dudas en los comentarios. Pronto pondre el siguiente patron de disenio.
Related posts:

{ 1 comment… read it below or add one }
Me parece muy clara tu explicacion acerca de la persistencia, ya que yo tengo muchas dudas y estoy aprendiendo sobre este tema.
Su explicacion me es de mucha ayuda.
Gracias