Встречается на собеседованиях • сегодня

Как в существующую логику добавить логику с возможностью отключения

В Java можно реализовать отключаемую логику через паттерн "Флаг" или "Декоратор". Простейший вариант - использовать boolean флаг:

java
class Service {
    private boolean enabled = true;
    
    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }
    
    public void doWork() {
        if (!enabled) return;
        
        // основная логика
        System.out.println("Working...");
    }
}

Более гибкий вариант - паттерн Декоратор:

java
interface Service {
    void doWork();
}

class DefaultService implements Service {
    public void doWork() {
        System.out.println("Working...");
    }
}

class DisableableService implements Service {
    private Service delegate;
    private boolean enabled = true;
    
    public DisableableService(Service delegate) {
        this.delegate = delegate;
    }
    
    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }
    
    public void doWork() {
        if (enabled) {
            delegate.doWork();
        }
    }
}

Такой подход позволяет динамически включать/выключать функциональность без изменения основного кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы