• Saltar a la navegación principal
  • Saltar al contenido principal

CARLOSZR.COM

Mi blog personal, CarlosZR

  • Blog
  • Contacto
  • Curso de SwiftUI por CarlosZR

iOS Developer Carlos ZR / 06/02/2023

Singleton en Swift

Es un patrón de diseño creacional. Con este patrón conseguimos tener SOLO una instancia en toda la app de una clase. El mismo objeto es compartido en distintas partes del código.

Ejemplo de Singleton en Swift

Una instancia para acceder a la base de datos o para acceder a web service. A continuación pongo un ejemplo sencillo de singleton.

ejemplo de singleton en swift
Ejemplo de singleton en Swift

Las ventajas del patrón singleton

Aunque también tiene sus inconvenientes, el patrón singletón tiene varias ventajas. Una de ellas es que podemos tener controlado el acceso a la clase, ya que la única instancia de la clase se encuentra encapsulada dentro de la propia clase. Por ejemplo, si nos conectamos a la base de datos, seguramente sólo queremos tener un único acceso cada vez. Esto también se aplica a un web service.

Como desventaja tenemos que comentar lo que siempre se dice del patrón singleton. Se dice que es un antipatrón. ¿Y qué es un antipatrón? Llamamos antipatrón al singletón porque es muy difícil testear su código ya que garda siempre la misma referencia en los tests. Por ello, se suele crear inyección de dependencias para crear singleton de las clases que queremos.

El patrón Singleton tiene varias desventajas más, tales como:

  • Su falta de flexibilidad: no es posible extender la clase Singleton sin modificar su código.
  • Desacoplamiento limitado: El patrón Singleton limita la capacidad de aislar las dependencias en la aplicación, lo que puede dificultar el mantenimiento y la escalabilidad.
  • Dificultad para trabajar en equipo: Cuando varios desarrolladores trabajan en un proyecto que utiliza el patrón Singleton, es fácil que ocurran conflictos o errores debido a la naturaleza global y única del objeto.
  • Testabilidad limitada: Es difícil probar clases que utilizan el patrón Singleton debido a su naturaleza. Su naturaleza es global y única.

Como conclusión final podemos decir que, el patrón Singleton puede resultar ser útil en situaciones muy específicas, pero en general es recomendable evitarlo si debido a sus limitaciones podemos vernos perjudicados por sus deventajas.

Publicado en: iOS Developer Carlos ZR

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Carlos ZR

  • Sígueme en Twitter
  • Política de Cookies
  • Política de Privacidad
  • Aviso Legal

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los ajustes.

CARLOSZR.COM
Powered by  GDPR Cookie Compliance
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.