Junior — Middle
¿Qué patrón de diseño aplicarías para adaptar el comportamiento de un objeto en función de la hora del día?
sobes.tech AI
Respuesta de la IA
Para adaptar el comportamiento de un objeto según la hora del día, es muy adecuado el patrón de diseño "Estrategia".
La idea es que tienes una interfaz de comportamiento común, y las implementaciones específicas (estrategias) cambian dependiendo de la hora del día, por ejemplo, estrategias matutinas, diurnas y vespertinas.
Ejemplo en Java:
interface Behavior {
void execute();
}
class MorningBehavior implements Behavior {
public void execute() {
System.out.println("¡Buenos días!");
}
}
class EveningBehavior implements Behavior {
public void execute() {
System.out.println("¡Buenas noches!");
}
}
class Context {
private Behavior behavior;
public void setBehavior(Behavior behavior) {
this.behavior = behavior;
}
public void performBehavior() {
behavior.execute();
}
}
// Uso:
Context context = new Context();
LocalTime now = LocalTime.now();
if (now.isBefore(LocalTime.NOON)) {
context.setBehavior(new MorningBehavior());
} else {
context.setBehavior(new EveningBehavior());
}
context.performBehavior();
Este enfoque permite cambiar fácilmente el comportamiento del objeto sin modificar su código.