#Value_Object

2025-12-16

Value Object: как победить примитивную одержимость без DDD

Кажется, что оборачивать BigDecimal и String в отдельные классы — это overengineering и преждевременный DDD. Но именно из-за этих «лишних» типов в прод не пролезают посылки в ПВЗ, проценты внезапно превращаются из 0.8 в 80, а деньги теряют валюту и смысл. В статье на реальном примере логистики разбираем, как один небольшой record Weight и несколько аккуратных Value Object’ов наводят порядок в бизнес-логике: инварианты перестают жить в комментариях, проверки перестают дублироваться, а код начинает читаться как текст предметной области. Без внедрения полного DDD, без религиозного фанатизма — только практические шаги. Как избавиться от одержимости примитивами

habr.com/ru/companies/cdek_blo

#java #value_object #ddd #kotlin #backend

2025-12-16

Value Object: как победить примитивную одержимость без DDD

Кажется, что оборачивать BigDecimal и String в отдельные классы — это overengineering и преждевременный DDD. Но именно из-за этих «лишних» типов в прод не пролезают посылки в ПВЗ, проценты внезапно превращаются из 0.8 в 80, а деньги теряют валюту и смысл. В статье на реальном примере логистики разбираем, как один небольшой record Weight и несколько аккуратных Value Object’ов наводят порядок в бизнес-логике: инварианты перестают жить в комментариях, проверки перестают дублироваться, а код начинает читаться как текст предметной области. Без внедрения полного DDD, без религиозного фанатизма — только практические шаги. Как избавиться от одержимости примитивами

habr.com/ru/companies/cdek_blo

#java #value_object #ddd #kotlin #backend

2025-06-08

Value object и DTO в PHP (DDD)

В чем разница и когда что использовать? Это был один из вопросов, на которые я пытался получить ответ. Попытаюсь тут описать ту практику, которую считаю не плохой. С примерами на PHP . Постараюсь описывать на простом языке - без использования сложной терминологии . Лучше всего это два подхода понимаются в слоистой архитектуре(слой презентации , доменный , инфраструктура , приложение - те, которые на текущий момент я использую в итоговом примере).

habr.com/ru/articles/916590/

#ddd #solid #clean_architecture #php #value_object #dto

2025-06-04

Как защитить бизнес-логику от мутаций в DTO: коротко

Привет, Хабр! Сегодня рассмотрим как обезопасить бизнес-логику от случайного (или злонамеренного) изменения DTO, чем опасна мутабельность моделей и какие инструменты дают C#, Java, Python и Go, чтобы вы больше никогда не ловили эти баги.

habr.com/ru/companies/otus/art

#teamlead #DTO #Безопасность_бизнеслогики #Value_Object #Иммутабельность_DTO #антимутабельность_моделей #ошибки_авторизации

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst