Ingeniería civil y estructural
Usando el patrón de decorador para agregar registro a los métodos de servicio existentes sin cambiar su código
Table of Contents
El patrón de decorador es un patrón de diseño potente en ingeniería de software que permite a los desarrolladores añadir nueva funcionalidad a los objetos existentes sin modificar su código original. Este enfoque es especialmente útil cuando usted necesita añadir registro a los métodos de servicio sin alterar su código fuente, asegurando bases de código limpias y sostenibles.
Comprender el patrón de decorador
El patrón de decorador implica crear una clase de envoltura que implemente la misma interfaz que el servicio original. Este envoltorio delega el servicio original pero añade comportamiento adicional, como la tala de registro, antes o después de la ejecución del método.
Implementación de la pendiente con el patrón de decorador
Supongamos que tiene una interfaz de servicio:
public interface DataService {
void fetchData();
}
Puede crear una implementación concreta:
public class RealDataService implements DataService {
@Override
public void fetchData() {
// Fetch data from a database or external API
}
}
A continuación, crear una clase de decorador que añade registro:
public class LoggingDataServiceDecorator implements DataService {
private final DataService wrappedService;
public LoggingDataServiceDecorator(DataService service) {
this.wrappedService = service;
}
@Override
public void fetchData() {
System.out.println("Fetching data started.");
wrappedService.fetchData();
System.out.println("Fetching data completed.");
}
}
Usando el Decorator
Para añadir logging, instantáneamente el decorador con su servicio existente:
DataService service = new RealDataService();
DataService loggedService = new LoggingDataServiceDecorator(service);
// Now, calling fetchData will include logging
loggedService.fetchData();
Beneficios del patrón de decoración
- Mejora la funcionalidad existente sin modificar el código original
- Promueve la reutilización de códigos y la separación de preocupaciones
- Facilita añadir múltiples capas de comportamiento dinámicamente
Utilizar el patrón de decorador para la tala de registro es una solución elegante que mantiene código limpio y se adhiere al principio cerrado, haciendo que sus aplicaciones sean más fáciles de extender y mantener.