Patrón de diseño Prototype

Patrón de diseño Prototype

Cuando queremos dar solución a un problema se  suele empezar desde cero, lo cual no se considera como buenas practicas, a veces,  ya ha sido encontrada la manera más eficiente de resolver el problema (o algún problema similar), por lo cual no es necesario reinventar el hilo negro, de ahí surgen los patrones de diseño, para ayudarnos a dar solución a problemas que posiblemente ya se haya encontrado la solución más eficiente, reduciendo así las horas de trabajo, sin descuidar el performance. En esta ocasión hablaremos sobre el patrón prototype

Prototype

Este patrón de diseño tiene como objetivo la clonación de objetos. Resulta útil cuando se requiere crear objetos basados en otros que ya existen. o dicho en otras palabras, es útil cuando  los objetos a crear tienen  atributos que repiten su valor.

El patrón prototype se compone por los siguientes elementos:

Prototype: En este elemento se definen los atributos mínimos para el  prototipo, Se implementará en todos los objetos que se vayan a clonar, suele declararse como una clase abstracta.

Client: Este elemento se encarga de la clonación de  del objeto basado en el Prototype ya mencionado

ConcretePrototype: Clase que puede ser instanciada mediante la clonación de un prototipo. Implementa la interfaz Prototype. Suelen crearse más de un concretePrototype dependiendo de las necesidades. Como se aprecia a continuación

A continuación se presenta un ejemplo simple en Javascript donde se puede apreciar la creación del prototipo y como se crean nuevos objetos a partir de el.

La implementación de patrones de diseño ayudan a reducir las horas de trabajo, así mismo son útiles para entrevistas de trabajo donde se nos pide compartir pantalla y resolver problemas en tiempo real, además del prototype, existen muchos otros patrones que vale la pena aprender, en este blog podrás encontrar  algunos de ellos.