Ir al contenido principal

Destacado

C4 Model | Por una mejor comunicación

Introducción. Han pasado muchos años desde la introducción de UML en el ámbito del desarrollo de software, con la llegada de Agile , la forma de desarrollar software cambió drásticamente: algunos conceptos evolucionaron, aparecieron nuevos mientras que otros fueron abandonados. Hoy en día, UML es utilizado por contadas personas,  la propia industria ha dejado de lado aquellos elaborados diagramas,  recurriendo a diagramas genéricos o diagramas parciales, altamente variados entre sí, para representar y describir arquitecturas/diseños. Aquí es donde entra Simon Brown , quien identificó este problema de comunicación dentro de las organizaciones. Para solucionarlo, desarrolló el modelo C4 , un sistema de modelos, capaz de describir el software de manera clara y accesible, no solo para  los equipos de desarrollo y arquitectos sino para todo aquel interesado en comprender el funcionamiento y  estructura de un sistema . Modelo C4. El modelo C4 se basa en un c...

Javascript | Factory Method Pattern

Los patrones de diseño no son mas que un conjunto de soluciones a los diferentes problemas que se presentan en el diseño/desarrollo de software.

Existen un numero finito y cada uno esta clasificado bajo una determinada categoría: comportamiento, de creación y estructurales.

Hoy voy a escribir sobre el Factory Method Pattern (Método Fabrica) que es un patrón de tipo creacional.

Los patrones creacionales proporcionan mecanismos para la creación de objetos (ADC!).


¿De qué va el Factory Method?

Este patrón consiste básicamente en una función que encapsula la creación de diferentes tipos de objetos u objetos de la misma clase y regresa dichas instancias para su posterior manipulación.

Esto nos permite reutilizar la lógica de creación a través de nuestra aplicación haciendo nuestros código mas flexible.

Veamos algunos ejemplos:


Simple Factory Method

En el ejemplo anterior definimos una fábrica (createActiveUser) bastante sencilla que nos permite crear diferentes usuarios.

El método recibe el nombre y la edad como parámetros, cuyos valores son usados a la hora de crear el objeto literal que al final es devuelto por la función.

Pero donde realmente brilla este patrón es cuando la lógica de creación depende configuraciones dinámicas que se definen en tiempo de ejecución.


A more complex Factory

En este ejemplo podemos observar una fábrica (createNewVehicle) más compleja que recibe una colección de opciones y las inyecta a la instancia del vehículo especificado.

Estas opciones pueden provenir de alguna fuente externa a nuestra aplicación/modulo como un archivo, algún servicio web, etc.

Al final el objeto creado es retornado inmediatamente.


Dependiendo del gusto del programador la implementación puede variar un poco pero definitivamente es un patrón a tener en cuenta a la hora de escribir nuestro código.


See you, internet cowboy

Comentarios

Entradas populares