Выбор ответа Senior Клиент, сервер и контекст обновлено

Повторное использование возвращаемых значений

Вопрос

Общий модуль с повторным использованием «На время сеанса» возвращает Структуру настроек. В чём риск?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Вызывающий может изменить кешированную структуру для всех вызовов. Результат кешируется на сеанс, и вызывающий получает ссылку на один и тот же объект.

Варианты ответа

  1. Вызывающий может изменить кешированную структуру для всех вызововправильный ответ
  2. Модуль всё равно вызывается при каждом обращении, кеш не работает
  3. Данные кеша будут общими для всех пользователей базы
  4. Кеш сбрасывается каждую секунду, и выигрыша нет

Разбор

Результат кешируется на сеанс, и вызывающий получает ссылку на один и тот же объект. Если его изменить, «испортится» кеш. Поэтому из таких модулей возвращают ФиксированнаяСтруктура, ФиксированныйМассив. Кеш работает в рамках сеанса, а не между пользователями, и не сбрасывается по секунде (хотя платформа может его вытеснить).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.