Emmanuel Romero
Export default class FabricaConcretaEventoCultural extends FabricaAbstractaEvento {
contructor(){
this._evento;
}
crearEvento(VarianteEvento, tipo_evento){
switch (tipo_evento){
case 1:
evento = new ProductoObraTeatro ();
if (VarianteEvento == 1){
evento = new ProductoObraTeatro ("La dama de negro", "Arthur Kipps", "Obra de Teatro", "Boletos", "8:30 PM", "27/04/22", "AuditorioNacional", "Imagen", "A5051", "$500 MNX",
"Drama", "2:30 HRs", "Varios");
}
else if (VarianteEvento == 2){
evento = new ProductoObraTeatro ("Hijo de la Luna", "Kipps", "Obra de Teatro", "Boletos", "8:30 PM", "30/12/22", "AuditorioNacional", "Imagen", "A5051", "$500 MNX",
"Suspenso", "2:30 HRs", "Varios");
}
case 2:
evento = new ProductoExposiciones ()
if (VarianteEvento == 1){
evento= new ProductoExposiciones ("Cuadros", "Arthur Kipps", "Expocision", "Boletos", "10:00 AM", "27/04/22", "Expo Santa Fe ", "Imagen", "E5051", "$200 MNX",
"Abstracto", "5 HRs","Varios", "FOTOGRAFIAS SIN FLASH");
}
case 3:
var evento = new ProductoMusicales ();
if (VarianteEvento == 1){
evento = new ProductoMusicales ("LA LA LAND", "Damien Chazelle", "Musical", "Boletos", "5:30 PM", "27/04/22", "Bellas Artes", "Imagen", "m5051", "$700 MNX",
"Estadounidense", "2:15 HRs", "Emma Stone, Ryan Gosling", "NO FILMAR", "SIN LIMITE");
}
}
}
getEvento(){
return this.evento;
}
}
class ProductoObraTeatro extends Evento {
constructor(nombre, artista, tipo, boletos, hora, fecha, recinto, img, id, costo,Genero, Duracion, Actores) {
super(nombre);
super(artista);
super(tipo);
super(boletos);
super(hora);
super(fecha);
super(recinto);
super(img);
super(id);
super(costo);
this._Genero = Genero;
this._Duracion = Duracion;
this._Actores = Actores;
}
}
Ejemplo de código implementado en Javascript para un proyecto de creación y venta de boletos en linea, donde se implemento el patrón Abstract Factory para la creación de eventos de diferente tipo.
Comments (0)