Ответ
Stateless-операция (функция без состояния) — это операция, результат которой зависит только от входных аргументов. Она не хранит и не использует какое-либо изменяемое состояние между вызовами (не имеет побочных эффектов на внешнее состояние).
Ключевые характеристики:
- Детерминированность: При одинаковых входных данных всегда возвращает одинаковый результат.
- Идемпотентность: Многократный вызов с теми же аргументами не меняет общее состояние системы.
- Потокобезопасность: Отсутствие общего изменяемого состояния делает функцию безопасной для использования в многопоточных средах.
Пример в Java:
// Stateless-функция: результат зависит только от a и b.
public static int add(int a, int b) {
return a + b;
}
// Stateful-функция: результат зависит от внешнего состояния (counter).
public class Counter {
private int count = 0;
public int increment() { // НЕ stateless
return ++count; // Изменяет внутреннее состояние
}
}
Применение: Чистые функции в функциональном программировании, методы утилитарных классов, GET-запросы в REST API.