Eduardo Mauricio Granados
Nuestro sistema requiere que la funcionalidad de ciertos componentes pueda extenderse y modificarse en tiempo de ejecución, por lo cual mediante el Patrón Decorator podemos extender la funcionalidad de los servicios para una reservación, sin la necesidad de recurrir a la herencia. Observamos en el diagrama, que el cliente (gestor de servicios) puede solicitar que se agreguen servicios adicionales a la reservación a través un componente (IServicio), de esta forma el servicio (componente concreto) se va a ir decorando con servicios adicionales en cada solicitud. Esto sucede debido a que creamos una clase abstracta llamada decoradorServicio, la cual mantiene una referencia a un objeto componente (IServicio) y nos permite modificar el comportamiento del servicio en tiempo de ejecución. A su vez el decoradorServicio delega la funcionalidad a los decoradores concretos y estos decoradores son los encargados de añadir las nuevas funcionalidades (servicios adicionales) al componente.
Comments (0)