Patrones - Definición Flashcards
Builder
Creacional. Objetos.
Separa la construcción de un objeto complejo de su representación para que el mismo proceso de construcción pueda crear diferentes representaciones.
(Para clases especializadas en crear objetos muy complejos)
Abstract factory
Creacional. Clases.
Para construir familias de objetos relacionados o dependientes sin especificar su clase concreta. Permite trabajar con objetos de distintas familias de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de familia que se esté usando.
Factory method
Creacional. Objetos.
Proporciona una interfaz para crear un objeto, pero deja a las subclases decidir qué clase instanciar para la creación del objeto.
Prototype
Creacional. Objetos.
Especifica el tipo de objetos a crear usando una instancia prototipo y crea nuevos objetos copiando este prototipo.
Singleton
Creacional. Objetos.
Asegura que una clase sólo tiene una instancia y proporciona acceso global a ella.
Ej. un objeto Configuración
Object Pool
Creacional. Objetos.
Obtiene objetos nuevos a través de colanción. Se utiliza para objetos muy complejos. Se especifica el tipo de objeto a crear y se utiliza una interfaz del prototipo para crear un nuevo objeto por clonación.
Herencia múltiple
Estructural. Clases.
Una clase hereda de otra y combina sus propiedades.
Class Adapter
Estructural. Clases.
Basado en una clase adaptador que hereda de la clase o clases a adaptar, cuyos métodos pueden ser sobreescritos. El adaptador deberá implementar la nueva interfaz que deseamos utilizar. La adaptaciópn se realiza llamando a los métodos del padre. No permite la adaptación de las subclases a la clase adaptada.
Object Adapter
Estructural. Objetos.
Convierte la interfaz de una clase en otra distinta que es la que esperan los clientes. Permite integrar clases con interfaces incompatibles.
Basado en una clase adaptadora que contiene una instancia de la clase o clases a adaptar. Para compatibilizar las clases, el adaptador hace llamadas a la instancia del objeto u objetos a daptar. Este adaptador funciona con la clase adaptada y todas sus subclases.
Bridge
Estructural. Objetos.
Desacopla una abstracción de su implementación, de manera que ambas puedan variar de forma independientemente.
Composite
Estructural. Objetos.
Combina o compone objetos en estructuras de árbol para representar jerarquías. Permite que los clientes tratar de la misma manera los objetos individuales y los compuestos.
Ej: Estructuras de objetos poco flexibles… Almacen => Estanterias => Baldas => Productos
Decorator
Estructural. Objetos.
Agrega responsabilidades adicionales a un objeto dinámicamente. Proporciona una alternativa flexible a la herencia para extender funcionalidades.
Facade
Estructural. Objetos.
Proporciona una interfaz unificada a un conjunto de interfaces en un subsistema. Define una interfaz de alto nivel que hace que el subsistema sea más fácil de usar.
Ej. Sería com una clase pública que proporciona acceso a las clases privadas correspondientes de las funcionalidades de cada subsistema.
Flyweight
Estructural. Objetos.
Usa el comportamiento para permitir un gran número de objetos pequeños de forma eficiente.
Proxy
Estructural. Objetos.
Proporciona un sustitutivo de otro objeto, para controlar el acceso a este.