domingo, 10 de junio de 2018

Identificacion de patrones de diseño para la autenticacion en aplicaciones


Identificación de  para la patrones  de diseño autentificación


Un patrón es:
·         una solución a un problema en un contexto particular
        Recurrente (lo que hace la solución relevante a otras   
        Situaciones)
·         enseña (permite entender cómo adaptarlo a la variante particular del problema donde se quiere aplicar)
·         tiene un nombre para referirse al patrón
·         Los patrones facilitan la reutilización de diseños y arquitecturas software que han tenido éxito
·         Los patrones facilitan la reutilización de diseños y arquitecturas software que han tenido éxito
Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno y describe también el núcleo de la solución al problema, de forma que puede utilizarse un millón de veces sin tener que hacer dos veces lo mismo.
Los patrones de diseño son el esqueleto de las soluciones a problemas comunes en el desarrollo de software.

Nos brindan una solución ya probada y documentada a problemas de desarrollo de software que están sujetos a contextos similares. Debemos tener presente los siguientes elementos de un patrón: su nombre, el problema (cuando aplicar un patrón), la solución (descripción abstracta del problema) y las consecuencias (costos y beneficios).

Existen varios patrones de diseño popularmente conocidos, los cuales se clasifican como se muestra a continuación:
·         Patrones Creacionales: Inicialización y configuración de objetos.

·         Patrones Estructurales: Separan la interfaz de la implementación. Se ocupan de cómo las clases y objetos se agrupan, para formar estructuras más grandes.

·         Patrones de Comportamiento: Más que describir objetos o clases, describen la comunicación entre ellos.

Patrones Creacionales

Fábrica Abstracta ( Abstract Factory )

El problema a solucionar por este patrón es el de crear diferentes familias de objetos, como por ejemplo la creación de interfaces gráficas de distintos tipos (ventana, menú, botón, etc.).

Método de Fabricación (Factory Method)
Parte del principio de que las subclases determinan la clase a implementar.
public class ConcreteCreator extends Creator
  {
  protected Product FactoryMethod()
      {
            return new ConcreteProduct();
      }
}
public interface Product{}
public class ConcreteProduct implements Product{}
      public class Client
      {
            public static void main(String args[])
            {
                  Creator UnCreator;
                  UnCreator = new ConcreteCreator();
                  UnCreator.AnOperations();
            }
      }








Prototipado ( Prototype )
Se basa en la clonación de ejemplares copiándolos de un prototipo.



Singleton
Restringe la instanciación de una clase o valor de un tipo a un solo objeto.
      public sealed class Singleton 
      { 
            private static volatile Singleton instance; 
            private static object syncRoot = new Object(); 
            private Singleton() 
            { 
                  System.Windows.Forms.MessageBox.Show("Nuevo Singleton"); 
            } 
            public static Singleton GetInstance 
            { 
                  get 
                  { 
                        if (instance == null) 
                        { 
                             lock(syncRoot) 
                             { 
                                   if (instance == null) 
                                         instance = new Singleton(); 
                             } 
                        } 
                        return instance; 
                  } 
            }
       }





MVC ( Model View Controler )

Este patrón plantea la separación del problema en tres capas: la capa model, que representa la realidad; la capa controler , que conoce los métodos y atributos del modelo, recibe y realiza lo que el usuario quiere hacer; y la capa vista, que muestra un aspecto del modelo y es utilizada por la capa anterior para interaccionar con el usuario.

Patrones Estructurales


·         Adaptador (Adapter): Convierte una interfaz en otra.

·         Puente (Bridge): Desacopla una abstracción de su implementación permitiendo modificarlas independientemente.

·         Objeto Compuesto (Composite): Utilizado para construir objetos complejos a partir de otros más simples, utilizando para ello la composición recursiva y una estructura de árbol.

·         Envoltorio (Decorator): Permite añadir dinámicamente funcionalidad a una clase existente, evitando heredar sucesivas clases para incorporar la nueva funcionalidad.

·         Fachada (Facade): Permite simplificar la interfaz para un subsistema.

·         Peso Ligero (Flyweight): Elimina la redundancia o la reduce cuando tenemos gran cantidad de objetos con información idéntica.

·         Apoderado (Proxy): Un objeto se aproxima a otro.

 

 

 

 

 

 

 

 

 

 

 

 

Patrones de Comportamiento

 

·         Cadena de responsabilidad (Chain of responsibility): La base es permitir que más de un objeto tenga la posibilidad de atender una petición.

·         Orden (Command): Encapsula una petición como un objeto dando la posibilidad de “deshacer” la petición.

·         Intérprete (Interpreter): Intérprete de lenguaje para una gramática simple y sencilla.

·         Iterador (Iterator): Define una interfaz que declara los métodos necesarios para acceder secuencialmente a una colección de objetos sin exponer su estructura interna.

·         Mediador (Mediator): Coordina las relaciones entre sus asociados. Permite la interacción de varios objetos, sin generar acoples fuertes en esas relaciones.

·         Recuerdo (Memento): Almacena el estado de un objeto y lo restaura posteriormente.

·         Observador (Observer): Notificaciones de cambios de estado de un objeto.

Public Class Artículo
   Delegate Sub DelegadoCambiaPrecio(ByVal unPrecio As Object)
   Public Event CambiaPrecio As DelegadoCambiaPrecio
   Dim _cambiaPrecio As Object
   Public WriteOnly Property Precio()
      Set(ByVal value As Object)
         _cambiaPrecio = value
         RaiseEvent CambiaPrecio(_cambiaPrecio)
      End Set
   End Property
End Class
Public Class ArticuloObservador
   Public Sub Notify(ByVal unObjecto As Object)
      Console.WriteLine("El nuevo precio es:" & unObjecto)
   End Sub


End Class

Archivo PDF

No hay comentarios.:

Publicar un comentario