Инициализация приложения - внедрение зависимостей в DDD - ООП и паттерны - Ответ 17114342

Нет, методы не могут хранить данные между вызовами.

Это можно сделать только одним способом: если сделать внешнюю переменную для счетчика и каждый раз ее передавать как параметр в вызываемый метод.

Кратко опишу как работает программа на этой платформе.

Весь код разделен на две части: клиентскую и серверную. Каждый модуль программы обязательно имеет отметку либо "Клиент" либо "Сервер". Соответственно, методы "клиентских" модулей выполняются на ПК клиента, "серверные" модули выполняются на сервере. Передача параметров примитивных типов между клиентом-сервером выполняется автоматически, программисту нужно просто из "клиентского" метода вызвать "серверный" метод.

Модули могут быть либо общими, методы которых доступны отовсюду в программе, либо принадлежат конкретной форме.

Вся основная работа выполняется на "сервере". Например, создаем мы новую форму. Фактически создание формы выполняется на "сервере", а потом она просто отображается на "клиенте". То есть код на клиенте - это грубо говоря браузер, хотя выглядит как обычные формы.

Данные можно хранить только в следующих "местах":

1) Реквизиты формы. Так как форма фактически "существует" и на клиенте и на сервере, то реквизиты формы "автоматически" передаются сервером и клиентом. Однако, они доступны в серверных модулях формы в полном объеме, а в клиентских модулях с ограничением. Так как клиент может работать только с примитивными типами данных.

2) Переменные, объявленные в клиентских модулях формы. Они хранят свои значения между вызовами. В принципе, это можно считать "статическими" данными в пределах формы. Но они "видны" в модулях только на клиенте, на сервер эти данные нужно передавать как параметры методов.

3) Серверный код может хранить данные в БД.

4) На сервере данные можно поместить в так называемое "временное хранилище". Однако, согласно документации, это временное хранилище может сбрасываться сервером при нехватке памяти или при достаточно длительном периоде бездействия (не вызываются методы серверной части). "Адрес" данных, размещенных во временном хранилище - это строка, его нужно где-то сохранить, чтобы сервер мог обратиться к этим же данным при следующем вызове. Например, можно сохранить его как реквизит формы.

Вернуться к обсуждению:

Инициализация приложения - внедрение зависимостей в DDD ООП и паттерны