Editing Combined Patterns New


Implementación de Abstract Factory


Date: 12:21am on Saturday 30th April 2022

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)