sábado, 22 de agosto de 2015

Singleton - Design Pattern


Singleton Pattern
Intención
Garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
Conocido Como
N/A
Motivo
A veces es importante asegurar que una clase sólo tiene una instancia (por ejemplo una sola cola de impresión, un gestor de ventanas, un sistema de ficheros...)
Aplicaciones
Cuando
  • Debe haber exactamente una instancia de una clase, que debe ser accesible a los clientes a través de un punto de acceso conocido.
  • La instancia única pueda tener subclases, y los clientes deban ser capaces de usar las subclases sin modificar su propio código.

Estructura

Participantes
  • Define una operación Instance estática que permite a los clientes acceder a su instancia única.

  • Puede ser responsable de crear su única instancia.
  • Colaboradores
    Los colaboradores llaman al método que hace referencia a la única instancia de Singleton.
    Implementación

    Código de Ejemplo

    Usos Conocidos
    La clase java.lang.Runtime del API de Java es una clase Singleton, no tiene constructores públicos y se obtiene su única instancia llamando a getRuntime().
    Patrones Relacionados
    Es frecuente utilizarlo con Abstract Factory, Builder y Prototype.

    martes, 18 de agosto de 2015

    AFD Mínimos - AFD construcción directa



    Programa realizado en Java para minimizar autómatas finitos deterministas. También construye autómatas finitos deterministas por el método directo (desde una expresión regular).


    miércoles, 12 de agosto de 2015

    AFN -> AFD

    Programa realizado en Java para convertir autómatas finitos no deterministas en autómatas finitos deterministas. Realiza la simulación de cadenas para ambos autómatas y mide el tiempo de ejecución para compararlos.