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

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

Используйте паттерн "Стратегия" или "Декоратор" для инкапсуляции новой логики. Пример:

java
interface Feature {
    void execute();
}

class OldLogic implements Feature {
    public void execute() {
        // старая логика
    }
}

class NewLogic implements Feature {
    private final Feature delegate;
    
    NewLogic(Feature delegate) {
        this.delegate = delegate;
    }
    
    public void execute() {
        delegate.execute();
        // новая логика
    }
}

// Использование:
Feature logic = config.isNewLogicEnabled()
? new NewLogic(new OldLogic())
: new OldLogic();

text

Альтернатива - параметр в методе:
```java
void process(boolean useNewLogic) {
    // старая логика
    if (useNewLogic) {
        // новая логика
    }
}

Преимущества: простота, отсутствие внешних зависимостей, легкое удаление старого кода позже.

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

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

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

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