Singleton – Patrones de diseño
Antonio Leiva

El patrón de diseño Singleton es uno de los patrones más utilizados en la programación orientada a objetos. Su objetivo es garantizar que una clase solo tenga una única instancia y proporcionar un punto de acceso global a ella.

Este patrón es útil en casos en los que necesitamos garantizar que solo exista una única instancia de una clase, como por ejemplo en el caso de un administrador de recursos compartidos o un administrador de configuración.

En Kotlin, podemos implementar el patrón Singleton de la siguiente manera:

class Singleton private constructor() {
    companion object {
        private var instance: Singleton? = null
        fun getInstance(): Singleton {
            if (instance == null) {
                instance = Singleton()
            }
            return instance!!
        }
    }
}

En este ejemplo, la clase Singleton tiene un constructor privado para evitar que se pueda instanciar directamente. En su lugar, se utiliza el método getInstance de la companion object para obtener la única instancia de la clase. Además, se utiliza una variable de instancia privada para almacenar la única instancia de la clase.

Para usar la clase Singleton, simplemente llamamos al método getInstance:

val singleton = Singleton.getInstance()

También es posible utilizar una expresión de objeto para implementar el patrón Singleton en Kotlin:

object Singleton {
    fun doSomething() {
        // Código aquí
    }
}

En este caso, la clase Singleton es implementada como una expresión de objeto, lo que garantiza que solo exista una única instancia de la misma.

En resumen, el patrón de diseño Singleton es una forma útil de garantizar que solo exista una única instancia de una clase en Kotlin. Su implementación es sencilla y permite un fácil acceso a la única instancia de la clase.

Quizá también te interese…

Las reglas FIRST de los tests

Las reglas FIRST de los tests

Las reglas FIRST son un conjunto de principios que se utilizan para diseñar y escribir tests de software de manera efectiva. Las siglas FIRST significan: F - Fast: Un test debe ser rápido de ejecutar. I - Independent: Un test debe ser independiente de otros tests y...

¿Qué son los dobles de test?

¿Qué son los dobles de test?

Los dobles de prueba (también conocidos como "doubles" o "fakes") son herramientas comunes en la programación y en particular en el testing de software. Se utilizan para simular el comportamiento de una dependencia de una aplicación en un entorno de pruebas, sin tener...

Kata del TicTacToe en Kotlin

Kata del TicTacToe en Kotlin

Escribe el código para representar una entidad que almacene el tablero de juego del 3 en raya, y que además tenga: Un método move() con 2 parámetros, fila y columna, que permita añadir un movimiento al tablero Un método findWinner(), que devuelva el ganador (X, Y o...

0 comentarios

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de DevExpert, S.L.U., con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

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

Acepto la política de privacidad *