2 de marzo de 2022

Patrón de diseño Builder



Builder es un patrón de diseño creacional con ámbitos de objeto. Nos ayuda a crear objetos complejos de una forma sencilla usando un procedimiento de "paso por paso". Esto facilita el trabajo enormemente cuando tenemos objetos con muchos atributos, pero no necesitamos establecer de inicio todos sus valores, o no siempre establecemos los mismos. De esta forma nos guía en la construcción de estos obejtos. También ayuda en el ensamblado de objetos complejos que están formados por otros objetos.

Debido a esto, este patrón es una de las formas más utilizadas para la creación de objetos; ya que es un elemento externo a los objetos que estamos creando, pero con la suficiente información para ayudarnos en el ensamblaje correcto de estos

En este tutorial te explico los detalles de este patrón, y te muestro tres estrategias diferentes de implementación.

20 de enero de 2022

Patrón de diseño Adapter



Adapter es un patrón de diseño estructural. Este es el único patrón que tiene los dos ámbitos, clases y objetos, ya que podemos implementarlos de dos formas diferentes. Este patrón se utiliza cuando tenemos dos elementos de una aplicación los cuales necesitamos que trabajen juntos, pero sus interfaces de comunicación no son compatibles. Para esos casos creamos una clase intermedia que facilita la comunicación entre ambas. Así, Adapter servirá como puente entre ambos elementos.

Algunas personas describen a este patrón con la frase: "Obtener la interface que quieres a partir de la interface que tienes" o "proporcionarle al cliente un objeto con la interface que necesita".

En este tutorial se mostraré la funcionalidad de este patrón, junto con dos estrategias diferentes de implementación, una para el ámbito de clases y otro para el ámbito de objetos.

7 de enero de 2022

Patrón de Diseño Strategy



Strategy es un patrón de diseño de comportamiento con el ámbito de objeto. Su finalidad es la de poder cambiar el algoritmo o comportamiento de un objeto en tiempo de ejecución. Esto ayuda cuando tenemos una aplicación en la que varían solo ciertas partes de la lógica. Con este patrón podemos aislar estos comportamiento o algoritmos en clases diferentes y elegir entre uno u otro en tiempo de ejecución.

En este tutorial te explicó más a fondo cómo funciona este patrón y te muestro una estrategia de implementación del mismo.

1 de enero de 2022

Patrón de Diseño Template Method



Template Method es un patrón de diseño de comportamiento del ámbito de clases. Con este patrón se define el esqueleto de un algoritmo en una clase abstracta, y se deja que sean las subclases quienes proporcionen los detalles concretos de algunos o todos los pasos de ese algoritmo. Lo interesante de este patrón es que también da la opción a las subclases de redefinir los pasos de acuerdo con sus necesidades, sin cambiar la estructura del algoritmo.

En este tutorial te explico los detalles de Template Method, y te muestro una estrategia de implementación.

25 de diciembre de 2021

Diferencias: Simple Factory vs. Factory Method vs. Abstrac Factory



En los tutoriales anteriores vimos tres patrones de diseño que son muy parecidos en nombre y concepto: Simple Factory (conocida también como Factory, a secas), Factory Method y Abstract Factory. La finalidad de los tres patrones es la misma: encapsular la instanciación de objetos. Sin embargo, cada uno de los patrones lo hace de una forma diferente dependiendo del problema que estemos tratando de resolver.

Al tener nombres tan parecidos, estos tres patrones generan mucha confusión entre los desarrolladores.

En este tutorial te explico las diferencias entre estos tres patrones y te doy algunas recomendaciones de cuándo debes usar uno u otro.

23 de diciembre de 2021

Patrón de Diseño Abstract Factory



Abstract Factory es un patrón de diseño creacional del ámbito de objetos. Este patrón ayuda a crear grupos o familias de objetos que, aunque en esencia son diferentes, tienen una relación de herencia o dependencia entre ellos a niveles de padres e hijos, pero también a nivel de hermanos. De esta forma ayudan a que la construcción de esa familia de objetos mantenga una lógica y coherencia, manteniendo al mismo tiempo un alto nivel de abstracción y bajo acoplamiento a través del polimorfismo.

En algunas ocasiones este patrón es descrito como una fábrica de fábricas lo cual, en parte, tiene razón, pero esta descripción se queda corta con respecto al potencial que ofrece.

En este tutorial te explicaré más en detalle en qué consiste este patrón de diseño, así como una estrategia de implementación.

8 de diciembre de 2021

Patrón de diseño Factory Method



El patrón de diseño Factory Method es un patrón de diseño creacional del ámbito de los objetos; es el único patrón de este tipo de los 24 definidos originalmente por la GoF.

Este patrón se usa mucho dentro del JDK y en frameworks como Spring, además de en un sin número de librerias y especificaciones, ya que uno de sus principales objetivos es poder ocultar los detalles de la implementación a través de una clase abstracta o interface para definir y mantener relaciones entre objetos.

En este tutorial veremos varias estrategias de implementación y una variación a las cual se les conoce simplemente como Factory o como Simple Factory y sus diferencias con Factory Method.