/// <summary> /// Metodo que obtiene la instancia del modelo de persona /// </summary> /// <returns></returns> public static SingletonPersona ObtenerInstancia() { if (_Instancia == null) { _Instancia = CargarPersona(_Instancia); } return(_Instancia); }
static void Main(string[] args) { SingletonPersona Persona1 = SingletonPersona.ObtenerInstancia(); SingletonPersona Persona2 = SingletonPersona.ObtenerInstancia(); if (Persona1 == Persona2) { Console.WriteLine("El patron de diseño Singleton funciono por que ambas personas tienen la misma instancia."); } else { Console.WriteLine("El patron de diseño Singleton no funciono por que hay diferencias en las instancias de las personas."); } }
/// <summary> /// Metodo que recibe la instacia del modelo persona y instancia el objeto con la infromacion cargada por consola /// </summary> /// <param name="Instancia"></param> /// <returns></returns> public static SingletonPersona CargarPersona(SingletonPersona Instancia) { Console.WriteLine("Ingrese el nombre de la persona"); string _Nombre = Console.ReadLine(); Console.WriteLine("Ingrese el apellido de la persona"); string _Apellido = Console.ReadLine(); Instancia = new SingletonPersona() { Nombre = _Nombre, Apellido = _Apellido }; return(Instancia); }