TGViewer
Заметки разработчика Заметки разработчика @dev_notes_ru · 457 subscribers
Post #626 139
Value Objects/Объекты Значения — это фантастическая концепция, которую мы можем использовать для улучшения наших приложений. Они представляют собой небольшие объекты, такие как Money, DateRange, Email или Age, которые мы используем в сложных приложениях. Они являются ключевыми элементами при создании эффективного, понятного и сопровождаемого кода.

Объекты Значения характеризуются неизменяемостью и оцениваются по состоянию, а не по идентичности. В отличие от Entity Objects/Объектов Сущности, которые обладают определённой идентичностью, Объекты Значения не обладают каким-либо уникальным идентификатором. Вместо этого они полностью определяются своим значением, т.е. считается, что два Объекта Значений равны, если их значения совпадают, независимо от того, являются ли они отдельными экземплярами.

Например, возьмём два экземпляра Объекта Значения Money, один из которых создан для представления 10$, а другой отдельно инициирован также для представления 10$. Хотя это два разных экземпляра, в рамках приложения мы считаем их равными, поскольку они представляют одно и то же значение.

Объекты Значения делают ваш код более явным, читаемым и менее подверженным ошибкам. Они инкапсулируют связанные данные в логические и осмысленные концепции и контекст, что облегчает управление, тестирование и отладку. Понимание и правильная реализация Объектов Значений могут значительно упростить сложную бизнес-логику и повысить качество кодовой базы.

https://www.dev-notes.ru/articles/php/understanding-value-objects-in-php/
Заметки разработчика Понимание Value Objects/Объектов Значения в PHP Value Objects/Объекты Значения — это фантастическая концепция, которую мы можем использовать для улучшения наших приложений.
  • 👍 6
More from @dev_notes_ru
  1. Apr 27, 2026Уникальный индекс при мягком удалении: решаем проблему дубликатов При использовании мягког…
  2. Apr 23, 2026Статические переменные в PHP: использование static внутри функций По данным исследования E…
  3. Apr 21, 2026Валидация массивов в Laravel без N+1: Form Request как построитель контекста Применение пр…
  4. Apr 13, 2026JSON в браузере: import или fetch — руководство по выбору Спойлер: import из JSON — это не…
  5. Apr 6, 2026Проксирование fetch() в серверном JavaScript Стандарт Fetch не специфицирует проксирование…
  6. Apr 2, 2026Taskfile: Когда пора отказаться от Makefile (а когда — нет) Makefile — инструмент с почти…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →