«Состояние выполнения» - это только информация, известная во время работы.
Предположим, что вы используете игру. Если у вас есть информация о каждом игроке в памяти на сервере, и вам нужно направлять запросы об этом игроке с помощью одного и того же сервера, ваша игра будет работоспособной.
Если вы сохраняете информацию о состоянии игрока на клиенте (надеюсь, что он подписан или зашифрован для предотвращения обмана!) И отправляйте эту информацию с каждым запросом, то ваш сервер не имеет статуса - все, что ему нужно знать для обработки запроса, часть этого запроса.
Если вы храните информацию в базе данных, это пачкает Вод немного - ваша системы (из которых база данных представляет собой компонент) с сохранением состояния (база данных содержат его состояние), но индивидуального обслуживания может быть апатридом (если он извлекает всю необходимую информацию из базы данных по каждому запросу).
Кэширование поведения немного грязно водах, поскольку они являются состояниями, но не обязательно нужно заботиться о том, когда вы переходите между серверами (за исключением риска получить некоторый удар по производительности). Таким образом, для удобства мобильности услуг можно не считать тайники как состояние.
Это, вероятно, относится к http://programmers.stackexchange.com/, а не к StackOverflow - как бы о понятиях, лежащих в основе программирования, а не кода. –
Функциональные языки, как правило, заставляют много думать о состоянии и о том, как он управляется, между прочим, если вы хотите хорошо управлять состоянием, используя язык, на котором почти все неизменно (и любое обновление до состояния явная - и атомная - операция) - эффективный способ изучить набор навыков, даже если вы в конечном итоге используете более традиционные инструменты позже. Написание кода традиционный способ OO имеет тенденцию приводить к тому, что состояние усеяно повсюду с небольшой координацией - очень беспорядок в сравнении. –
@CharlesDuffy Есть ли способ переместить вопрос? – Sobiaholic