Пример #1
0
 // Realizar contacto: comprueba que el código de la tarjeta sea correcto.
 // En caso de que lo sea, abre la puerta.
 public override void RealizarContacto(Central central)
 {
     if (tarjetaCorrecta(central.Codigotarjeta))
     {
         Console.WriteLine("Contacto realizado");
     }
     else
     {
         Console.WriteLine("Código de tarjeta inválido");
     }
 }
Пример #2
0
        // Este método realizará el control de acceso sobre el método original.
        // Realizará una comprobación previa comparando el código de seguridad y, si este es
        // correcto, invocará el método del objeto real.
        public override void RealizarContacto(Central central)
        {
            // Realizamos una comprobación adicional de seguridad. En caso de no cumplirse, se
            // aborta la operación. Esta operación podría ser la ejecución de un algoritmo para
            // comprobar la autenticidad del código de la , una comprobación de nombre de
            // usuario y contraseña... o cualquier otra comprobación que queramos realizar.
            if (central.CodigoSeguridad > tarjetaOriginal.Codigotarjeta.ToString().GetHashCode())
            {
                Console.WriteLine("Código de seguridad incorrecto. Puerta no abierta");
                return;
            }

            if (tarjetaCorrecta(central.Codigotarjeta))
            {
                Console.WriteLine("Contacto realizado");
            }
            else
            {
                Console.WriteLine("Código de la tarjeta inválido");
            }
        }
Пример #3
0
 // Métodos abstractos que implementarán el elemento real y el proxy
 public abstract void RealizarContacto(Central central);