Editing Combined Patterns New


Implementación del patron Decorator


Date: 4:02pm on Friday 29th April 2022

Antonio Jacal


            	
            		

//Interface de solicitud class InterfaceSolicitud{ enviarSolicitud(){ //Metodo para mandar a la base de datos una solicitud } } //Componente concreto export default class SolicitudEvento { //Atributos constructor(nombre, recinto, fecha, direccion,hora, boletos) { this._nombre = nombre; this._recinto = recinto; this._fecha = fecha; this._direccion = direccion; this._hora = hora; this._boletos = boletos; } //SETTERS set setnombre(nombre){ this._nombre=nombre; } set setfecha(fecha){ this._fecha=fecha; } set sethora(hora){ this._hora=hora; } set setrecinto(recinto){ this._recinto=recinto; } //GETTERS enviarSolicitud(){ return new GestorBaseDeDatos() } } // Decorador class DecoradorSolicitud { DecoradorSolicitud(Solicitud){ this._solicitud = Solicitud } enviarSolicitud(){ return this._solicitud.enviarSolicitud() } } //Concreto A class DecoratorSolicitudAlta { DecoratorSolicitudAlta(solicitud){ this._decorator = solicitud } enviarSolicitud(){ var bd = this._decorator.enviarSolicitud() bd.guardarSolicitud(this._decorator) } } //Concreto B class DecoradorSolicitudBaja{ DecoratorSolicitudBaja(solicitud){ this._decorator = solicitud } enviarSolicitud(){ var bd = this._decorator.enviarSolicitud() var motivo = "Contingencia sanitaria" bd.guardarSolicitud(this._decorator, motivo) } } //Concreto C class DecoradorSolicitudCambio { DecoradorSolicitudCambio(solicitud){ this._decorator = solicitud } enviarSolicitud(){ var bd = this._decorator.enviarSolicitud() this._decorator.nombre = "Luis Miguel World Tour" this._decorator.recinto = "Bellas Artes" this._decorator.fecha = "12/03/2022" this._decorator.direccion = "Av. Juárez S/N, Centro Histórico de la Cdad. de México" this._decorator.hora = "20:30" this._decorator.boletos = 700 bd.guardarSolicitud(this._decorator) } }


Código implementado en Javascript para un proyecto de creación y venta de boletos en linea, el cual se implemento para extender la funcionalidad de las solicitudes dependiendo de su tipo

Comments (0)