AQUÍ MANDA EL PATRON

AQUÍ MANDA EL PATRÓN

Bienvenidos una vez más a este blog super puntual, por si te lo perdiste aquí te dejo mi entrada anterior para que vayas al corriente de nuestro cursito.

Una vez dicho eso hoy nos tocará hablar acerca de Patrones de diseño, y tu te preguntarás:

¿Qué es un patrón de diseño?

Bueno pues según nuestra gran fuente de confianza, a.k.a Wikipedia, un patrón de diseño es la solución a problemas de diseño, soluciones que podemos comprobar resolviendo problemas similares o que se presenten en diferentes circunstancias.

Esta es una definición muy técnica pero podemos resumirla como que los patrones de diseño simplemente son las formas estandarizadas para resolver problemas comunes dentro del diseño de software.

Ventajas

El utilizar estos patrones evidentemente trae ventajas con ello, entre las que podemos encontrar:

  • Ahorran tiempo, haciendo que el resolver un problema se más rápido con un patrón.
  • Estandarizan, al existir problemas muy similares y repetitivos estos se pueden resolver gracias a los patrones.
  • Dan seguridad, al ser utilizadas y probadas ya por muchos desarrolladores hace que el elegir el patrón adecuado de el resultado esperado.
  • Establecen un lenguaje común, al utilizar un patrón hará que entender tu solución se más fácil para otros desarrolladores así como facilita la explicación de tu solución.

Y ahora que sabemos el por que utilizamos patrones veamos cómo saber cuál es el patrón adecuado para ti.

Un patrón para tu problema

Esta es la parte más complicada ya que conocer el patrón adecuad para tu problema necesitas conocer que tipo de problemas resuelve cada uno y posteriormente ver como se aplican en un caso concreto, por lo que el saber el patrón correcto dependerá de la práctica que tengas con estos.

Pues bien veamos rápidamente los famosos patrones de diseño y sus clasificaciones.

Tipos de patrones

Los patrones los podemos clasificar según su finalidad por lo que los podemos clasificar de 3 formas distintas:

  • Patrones Creacionales
  • Patrones Estructurales
  • Patrones de Comportamiento

Veamos una por una de las clasificaciones.

Patrones Creacionales

Como dice el nombre estos patrones ayudan con la creación de objetos o instancias. Esto lo hacen basándose en los conceptos de la encapsulación de la lógica de la instancia y la ocultación de los detalles de la creación de cada objeto permitiendo trabajar con abstracciones.

Algunos de los patrones más conocidos de este tipo son:

  • Factory, desacopla la lógica de creación de la lógica de negocio.
  • Abstract Factory, delega la creación de objetos relacionados sin especificar las implementaciones correctas.
  • Factory Method, Expone un método de creación, delegando en las subclases la implementación de este método.
  • Builder, separa la creación de un objeto complejo de su estructura.

Patrones Estructurales

Estos facilitan la modelización del software especificando las relaciones entre clases, ayudando a definir de que forma se componen los objetos.

Los patrones estructurales más comunes son:

  • Adapter, permite que dos clases en diferentes interfaces interactuen y se comuniquen entre sí por medio de una clase intermediaria conocida como Wrapper.
  • Decorator, nos ayuda a añadir funcionalidades extra a un objeto sin necesidad de modificar las demás instancias.
  • Facade, mejor conocido como “fachada” ayuda a crear una interfaz simplificada para poder tratar con una parte más compleja del código aislando su uso.

Patrones de Comportamiento

Como dice su nombre ayudan a definir la forma en que los objetos interactuan entre si por medio sus relaciones y responsabilidades entre ellos.

En este grupo se encuentran la mayoría de los patrones así que solo daré unos pocos de los más conocidos:

  • Command, objetos que encapsulan una acción y sus parámetros necesarios para ejecutarse.
  • Observer, los objetos estan atentos y son notificados de los eventos que otro objeto pueda provocar.
  • Strategy, permite seleccionar el algoritmo que pueda ejecutar una acción en un tiempo de ejecución definido.
  • Template Method, nos indica el esqueleto de nuestro algoritmo, permitiendo que las subclases definan como implementarlo.

Conclusión

El utilizar patrones de diseño no solamente ayudará a tener buenas prácticas y ahorrarnos bastante tiempo de desarrollo sino que al ser utilizado como un estándar el entendimiento de nuestros programas será más sencillo para todos aquellos que requieran saber el funcionamiento del software, y de la misma forma para nosotros si queremos aprender de problemas similares ya que como dije la parte más complicada es saber cuál es el patrón adecuado para nosotros.

Participa en la conversación

1 comentario

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Crea tu página web en WordPress.com
Empieza ahora
A %d blogueros les gusta esto: