Saltar al contenido principal
Curiously Recurring Template Pattern

Nombre / clasificación

Curiously Recurring Template Pattern

También conocido como

Recursive Type Bound, Recursive Generic

Propósito

Permitir que los componentes derivados hereden ciertas funcionalidades de un componente base que sean compatibles con el tipo derivado.


iluwatarAlrededor de 2 minStructuralExtensibilityInstantiation
MonoState

También conocido como

Borg

Propósito

Impone un comportamiento como compartir el mismo estado entre todas las instancias.

Diagrama de Clases

MonoState

Applicability

Utilice el patrón Monostate cuando

  • El mismo estado debe ser compartido por todas las instancias de una clase.
  • Típicamente, este patrón puede ser usado en cualquier lugar donde un Singleton pueda ser usado. Sin embargo, el uso de Singleton no es transparente, el uso de Monostate sí lo es.
  • Monostate tiene una gran ventaja sobre Singleton. Las subclases pueden decorar el estado compartido como deseen y, por lo tanto, pueden proporcionar dinámicamente un comportamiento diferente de la clase base.

iluwatarMenos de 1 minutoCreationalInstantiation
Multiton

También conocido como

Registry

Propósito

Asegúrese de que una clase solo tiene un número limitado de instancias y proporcione un punto de acceso global a las
mismas.

Explicación

Ejemplo del mundo real

Los Nazgûl, también llamados espectros del anillo o los Nueve Jinetes, son los sirvientes más terribles de Sauron. Por
definición, siempre hay nueve de ellos.


iluwatarAlrededor de 2 minCreationalInstantiation
Object Mother

Propósito

Se utiliza para definir una fábrica de contenido inmutable con interfaces de constructor y fábrica separadas.

Diagrama de Clases

Object Mother

Aplicabilidad

Utilice el patrón Object Mother cuando

  • Quieres objetos consistentes a lo largo de varias pruebas
  • Desea reducir el código para la creación de objetos en las pruebas.
  • Cada prueba debe ejecutarse con datos nuevos

iluwatarAlrededor de 2 minCreationalInstantiation
Property

Propósito

Crear jerarquía de objetos y nuevos objetos utilizando objetos existentes como padres.

Explicación

Ejemplo del mundo real

En la mística tierra de "Elandria", los aventureros pueden aprovechar el poder de las reliquias antiguas para
personalizar sus habilidades. Cada reliquia representa una propiedad o habilidad única. A medida que los aventureros
exploran, descubren e integran nuevas reliquias, mejorando dinámicamente sus habilidades en función de las reliquias
que
poseen.


iluwatarAlrededor de 2 minCreationalInstantiation
Prototype

Propósito

Especificar los tipos de objetos a crear utilizando una instancia prototípica, y crear nuevos objetos copiando este
prototipo

Explicación

Primero, debe notarse que el patrón Prototype no se utiliza para obtener beneficios de rendimiento. Solo se utiliza para
crear nuevos objetos a partir de instancias prototipo.


iluwatarAlrededor de 2 minCreationalGang Of FourInstantiation
Registry

Propósito

Almacena los objetos de una única clase y proporciona un punto de acceso global a los mismos.
Similar al patrón Multiton, la única diferencia es que en un registro no hay restricción en el número de objetos.

Explicación

En pocas palabras

El registro es un objeto bien conocido que otros objetos pueden utilizar para encontrar objetos y servicios comunes.


iluwatarMenos de 1 minutoCreationalInstantiation
Step Builder

Explicación

El patrón Step Builder es un patrón de diseño de creación utilizado para construir un objeto complejo paso a paso.
Proporciona una interfaz fluida para crear un objeto con un gran número de configuraciones posibles, haciendo el código
más legible y reduciendo la necesidad de múltiples constructores o métodos setter.


iluwatarAlrededor de 2 minCreationalInstantiation
Value Object

Propósito

Proporcionar objetos que siguen la semántica de valor en lugar de la semántica de referencia. Esto significa que la
igualdad de los objetos de valor no se basa en la identidad. Dos objetos de valor son iguales cuando tienen el mismo
valor, no necesariamente siendo el mismo objeto.


iluwatarAlrededor de 1 minCreationalInstantiation