Есть ли какой-нибудь элегантный способ запретить классу хранить личные данные? - PullRequest
0 голосов
/ 26 марта 2012

В недавнем рефакторе кода я реализую идею, которая изолирует обработку данных от самих данных.Это что-то вроде цепочки ответственности - процессоры, обеспечивающие возможность обрабатывать данные в определенной бизнес-сфере, в то время как объект данных передается по всей цепочке обработки.

Дальнейшая оптимизация выполняется путем «одиночной настройки»экземпляр цепочки обработки.Учитывая потенциальную проблему совпадения, желательно исключить любые ссылки на частные данные в этих единицах обработки.

Итак, мне интересно, существует ли какая-то парадигма программирования, которая может предложить другим программистам соответствовать этому шаблону, когда они будут вносить изменения в будущем.

Заранее спасибо ~

1 Ответ

1 голос
/ 26 марта 2012

Этот принцип называется "служба безгражданства".В сервисно-ориентированной парадигме проектирования сервисы должны быть без сохранения состояния, поэтому у них нет личных данных.Для поддержки масштабируемости требуется отсутствие состояния.

ОБНОВЛЕНИЕ: Если вам нужны некоторые данные о состоянии (контекст, сеанс, бизнес), существует элегантный способ запретить классу хранить личные данные, который называется делегированием управления состоянием и отложением состояния.Пример отсрочки состояния может быть выделенной базой данных / таблицами, которые используются вашими компонентами для записи состояния и получения его позже.

...