REBAJA de primavera
Flyweight

Flyweight en Swift

Flyweight es un patrón de diseño estructural que permite a los programas soportar grandes cantidades de objetos manteniendo un bajo uso de memoria.

El patrón lo logra compartiendo partes del estado del objeto entre varios objetos. En otras palabras, el Flyweight ahorra memoria RAM guardando en caché la misma información utilizada por distintos objetos.

Complejidad:

Popularidad:

Ejemplos de uso: El patrón Flyweight tiene un único propósito: minimizar el consumo de memoria. Si tu programa no tiene problemas de escasez de RAM, puedes ignorar este patrón por una temporada.

Identificación: El patrón Flyweight puede reconocerse por un método de creación que devuelve objetos guardados en caché en lugar de crear objetos nuevos.

Los siguientes ejemplos están disponibles en Swift Playgrounds.
Kudos a Alejandro Mohamad por crear la versión de Playground.

Flyweight en otros lenguajes

Flyweight en C# Flyweight en C++ Flyweight en Go Flyweight en Java Flyweight en PHP Flyweight en Python Flyweight en Ruby Flyweight en Rust Flyweight en TypeScript