viernes, 8 de julio de 2011

Patrones de Diseño

Los patrones de diseño ayudan a optimizar el uso de la interfaz grafica y a solucionar posibles problemas que pueden ocurrir con estos patrones.

Los patrones de diseño tienen ciertas caracteristicas: 
  • Efectividad: Tiene que estar comprobada la efectividad del patron para que se pueda utilizar
  • Reutilizable: El patrón tiene que estar programado para ayudar a que se pueda utilizar varias veces. 
Ejemplos de patrones de diseño:

Patrones creacionales

  • Object Pool
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Patrones estructurales

  • Adapter
  • Bridge (Puente)
  • Composite (Objeto compuesto)
  • Decorator (Envoltorio)
  • Facade (Fachada)
  • Flyweight (Peso ligero)
  • Proxy
Uno de los patrones que me llamo mas la atencion fue el patron Memento. Este programa se utiliza para la funcion "Undo" o "Deshacer" la cual es muy utilizada.

Otro patron de diseño que me llamo mucho la atención y podría usar para mi programa es el patron Prototype.
Este patron permite crear clones de objetos ya existentes un numero determinado de veces. 

Codigo ejemplo:

/**
 * Prototype Class
 */
abstract class PrototypeFactory implements Cloneable {
    public Object clone() throws CloneNotSupportedException {
        // call Object.clone()
        PrototypeFactory copy = (PrototypeFactory) super.clone();
        //In an actual implementation of this pattern you might now change references to
        //the expensive to produce parts from the copies that are held inside the prototype.
        return copy;
    }
 
    abstract void prototypeFactory(int x);
 
    abstract void printValue();
}
 
/**
 * Concrete Prototypes to clone
 */
class PrototypeImpl extends PrototypeFactory {
    int x;
 
    public PrototypeImpl(int x) {
        this.x = x;
    }
 
    @Override
    void prototypeFactory(int x) {
        this.x = x;
    }
 
    @Override
    public void printValue() {
        System.out.println("Value :" + x);
    }
}


REFERENCIAS
PATRONES DE DISEÑO

No hay comentarios:

Publicar un comentario