Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diferentes Patrones de Diseño para Desarrolo de Proyectos de
Diferentes Patrones de Diseño para Desarrolo de Proyectos de
SOFTWARE.
Inicialización y configuración de objetos Separan la interfaz de la implementación. Se Más que describir objetos o clases,
ocupan de cómo las clases y objetos se agrupan, describen la comunicación entre
para formar estructuras más grandes. ellos.
Fábrica Abstracta ( Abstract Factory ) Adaptador (Adapter): Convierte una interfaz Cadena de responsabilidad (Chain
en otra. of responsibility): La base es permitir
El problema a solucionar por este patrón es el de crear que más de un objeto tenga la
diferentes familias de objetos, como por ejemplo la creación Puente (Bridge): Desacopla una abstracción posibilidad de atender una petición.
de interfaces gráficas de distintos tipos (ventana, menú, de su implementación permitiendo
botón, etc.). modificarlas independientemente. Orden (Command): Encapsula una
petición como un objeto dando la
posibilidad de “deshacer” la petición.
Método de Fabricación ( Factory Method ) Objeto Compuesto (Composite): Utilizado Iterador (Iterator): Define una
para construir objetos complejos a partir de interfaz que declara los métodos
Parte del principio de que las subclases determinan la clase a otros más simples, utilizando para ello la necesarios para acceder
implementar. composición recursiva y una estructura de secuencialmente a una colección de
árbol. objetos sin exponer su estructura
public class ConcreteCreator extends interna.
Creator Envoltorio (Decorator): Permite añadir
{ dinámicamente funcionalidad a una clase Mediador (Mediator): Coordina las
protected Product FactoryMethod()
{ existente, evitando heredar sucesivas clases relaciones entre sus asociados.
return new ConcreteProduct();
para incorporar la nueva funcionalidad. Permite la interacción de varios
}
} objetos, sin generar acoples fuertes
public interface Product{} Fachada (Facade): Permite simplificar la en esas relaciones.
public class ConcreteProduct implements interfaz para un subsistema.
Product{} Recuerdo (Memento): Almacena el
public class Client Peso Ligero (Flyweight): Elimina la estado de un objeto y lo restaura
{ posteriormente.
redundancia o la reduce cuando tenemos
public static void main(String
gran cantidad de objetos con información
args[])
{ idéntica.
Creator UnCreator;
UnCreator = new
ConcreteCreator();
UnCreator.AnOperations();
}
}