Unity: Patrón Singleton … si o no?

En el próximo blog intentaré explicarte qué es un patrón Singleton, cuáles son sus ventajas, desventajas y te daré un ejemplo de cómo usarlo.

1. Qué es un patrón Singleton?

Con el patrón singleton puede asegurarse de que su clase sea única en su proyecto y, al mismo tiempo, hacerla accesible a nivel mundial.

2. Ventajas de usar el patrón Singleton

Bueno, este patrón tiene algunas ventajas como el hecho de que es accesible globalmente, se puede usar para guardar datos (y cuando se combina con DontDestroyOnLoad puede pasar la información de una escena a otra).

Es un patrón útil, pero a veces los desarrolladores abusan de él, eso es lo que lo hace que algunos lo amen y otros lo odien.

3. Desventajas del uso del patrón singleton

Hay muchas desventajas del patrón singleton, una de ellas es la rigidez que puede volverse su código si lo usa de manera incorrecta. Por ejemplo, cada vez que realice cambios en su singleton, esto afectará a los demás scripts que dependen de él.

Otra desventaja es que solo puede existir un singleton de cada clase al mismo tiempo, lo que de hecho no es un gran problema si sabe lo que está haciendo, pero también hace que sea necesario verificar si hay otro singleton de script de la misma clase para destruirlo, con el objetivo de respetar la regla de un único singleton de cada clase.

4. Usos del patrón singleton

Los usos del patrón singleton son siempre los mismos: guardar o almacenar valores de variables.

Y es por eso que mucha gente lo usa como game manager o music manager u otro tipo de “manager” con el objetivo de almacenar valores y usar esos valores en otros scripts.

5. Aquí un ejemplo de un patrón sigleton

Este ejemplo de un patrón singleton se ha copiado de este blog https://www.patrykgalach.com/2019/04/04/singleton-in-unity-love-or-hate/

En ese blog explican cómo usarlo y algunas variables al momento de escirbir los scripts de un patrón singleton.

6. Recuerda nada en exceso es bueno, ni siquiera los patrones singletons

En la imagen superior (una broma) puede encontrar por qué a algunos desarrolladores no les gusta este patrón. Y eso se debe a que algunos otros abusan de él y crean un patrón singleton para todo, creando unos scripts interdependientes que en última instancia crean un código muy difícil de refactorizar.

Si te ha resultado útil este blog déjanos un comentario y síguenos en nuestro Instagram @tortugamedev y Twitter @Totuas2.
Y no olvides revisar nuestro otros blogs acerca de Unity!!

Leave a Comment

Your email address will not be published.