Неизменность объекта передачи данных в распределенных системах

Следует ли сохранять неизменными простые объекты передачи данных (DTO) или объекты значений (VO) в распределенных системах Java?

Поскольку в облаке могут быть другие экземпляры, используемые для получения общего объекта и управления.

Есть ли какие-либо преимущества во время выполнения, создавая все или большинство DTO неизменяемыми?

DTO в распределенной системе не используется совместно. У каждого «экземпляра в облаке» есть своя копия. В этом вопросе нет особого смысла.

JB Nizet 21.10.2018 09:29

@JBNizet Да, но какова цель создания неизменяемых объектов с использованием шаблона Builder, который очень часто используется в распределенных системах?

Pankaj Dubey 21.10.2018 09:39

Неизменяемые объекты легче рассуждать. Они также могут совместно использоваться потоками внутри одного экземпляра JVM в дополнение к использованию только как DTO. И строитель может проверить значения перед созданием окончательного объекта. Сеттеры не могут этого сделать. Наконец, DTO используются для передачи сложного значения, и у значений нет причин для изменения. Сделав их неизменными, вы не будете злоупотреблять ими.

JB Nizet 21.10.2018 09:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
3
188
0

Другие вопросы по теме