ABAP Singleton

Este patrón nos sirve para restringir la creación de objetos, nos permitirá crear unicamente una instancia de una clase.

Implementación

Utilizaremos una clase estática para salvar dentro de esta misma la instacia creada y así podamos checar si se solicita una nueva instancia.

Ejemplo

1.- Creamos una clase estática.

Singleton ABAP

2.- Dentro de la sección de atributos privados declaramos el atributo estático lo_obj, el cual será una referencia de nuestra clase.

Singleton ABAP

3.- Definimos el método estático encargado de validar si la instancia está creada “get_instance”. En caso de que no esté creada la guardará en el atributo lo_obj, caso contrario utilizará la instancia guardada en el atributo lo_obj para hacer la referencia, la cual será el valor de retorno.

Singleton ABAP

Implementación

Singleton ABAP

4.- Definimos un atributo que nos permita ver un valor asignado al objeto, esto con la finalidad de validar que siempre se trata del mismo objeto.

5.- Definimos e implementamos nuestros métodos set y get para manipular el valor.

Singleton ABAP

Singleton ABAP

 

Ahora que tenemos listo nuestro patrón SINGLETON lo probaremos asignado a 2 referencias la instancia , obteniendo el mismo objeto para ambas referencias.

5.- Obtenemos la instancia

Singleton ABAP

6.- Asignamos un valor a nuestro atributo lv_valor

Singleton ABAP

7.- Obtenemos nuevamente la instancia para nuestra segunda referencia y llamamos al método get para obtener el valor de nuestro atributo lv_valor.

Singleton ABAP

8.- Imprimimos lv_msj y podremos observar que tenemos el mismo objeto asignado a una segunda referencia.

Singleton ABAP

Resultado

Singleton ABAP

DESCARGA EL CÓDIGO AQUÍ

Facebook Comments
Por favor ayúdame compartir este post

Una respuesta a “ABAP Singleton”

Deja un comentario

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