JS: Polimorfismo
Teoría: Fábrica (Patrón)
La aplicación del polimorfismo de subtipos no elimina por completo las estructuras condicionales (excepto en algunos casos de despacho, como por clave o nombre de archivo). En la mayoría de los casos, la estructura condicional se reduce a la selección de la implementación adecuada, y luego esta implementación se utiliza dentro de una función polimórfica de manera directa, sin condiciones. En la lección anterior, vimos un ejemplo de una función que selecciona la implementación de una estrategia basada en la edad del usuario y la devuelve.
La función que elige la clase necesaria, crea un objeto y lo devuelve se llama fábrica (más precisamente, un método de fábrica). Una fábrica puede ser implementada de cualquier manera, incluyendo todo lo que se ha discutido en este curso.
En general, se llama fábrica a cualquier cosa que cree objetos o colecciones de objetos. No necesariamente tienen que ser clases diferentes, una clase puede ser la misma, pero el proceso de creación puede incluir algunos cálculos previos. En proyectos reales, las fábricas pueden ser bastante grandes.
Las fábricas a menudo se implementan como clases con un método estático llamado factory. Por lo general, las fábricas no crean objetos en sí, ya que no son una abstracción de datos y no tiene sentido reemplazar su significado, de lo contrario, se obtendría un reemplazo de reemplazo.
Despacho de clases
JavaScript permite crear objetos utilizando una referencia a una clase.
Esta sintaxis abre un amplio espacio para el despacho. Por ejemplo, en algunas situaciones, es posible evitar completamente las estructuras condicionales:
Completado
0 / 14