Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:
Ver libroPrototype
Patrón de diseño creacionalEl patrón Prototype basa su funcionalidad en la clonación de objetos, estos nuevos objetos son creados mediante un pool de prototipos elaborados previamente y almacenados. Este patrón es especialmente útil cuando necesitamos crear objetos basados en otros ya existentes o cuando se necesita la creación de estructuras de objetos muy grandes, este patrón nos ayuda también a ocultar la estrategia utilizada para clonar un objeto.
Los componentes que conforman el patrón son los siguientes:
- Client: Componente que interactúa con los prototipos.
- IPrototype: Este componente por lo general es una interface y define los atributos mínimos de un prototipo, esta interface debe contar por lo menos con alguno de los dos tipos de clonación. Clonación superficial (clone) o clonación en profundidad (deepClone) los cuales explicaremos más adelante.
- ConcretePrototype: Implementaciones concretas de IPrototype los cuales podrán ser clonados.
- PrototypeFactory: Componente que utilizaremos para mantener el cache de los prototipos existentes, así como para crear clonaciones de los mismos.
Ejemplo del mundo real
Mediante la implementación del patrón de diseño Prototype crearemos una clonación completa de un listado de productos, para crear otros derivados. Cuantas veces no hemos visto que las empresas manejan más de una lista de precios, y estos listados tienen que ser creados desde cero con todos los productos del inventario. Que tal sin en lugar de eso, utilizamos un listado de precios como base, y a partir de allí creamos listados derivados con un descuento adicional.
¿Sabes la importancia de los patrones de diseño?
Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.