Как реализовать Value Object в Java?

Middle
268 просмотров
AFK Offer AI

Value Object — неизменяемый, равенство по значению, нет identity. В Java до records: final класс, все поля final, equals/hashCode по всем полям, no setters, копирующий конструктор. С Java 16+ records идеальны для Value Objects: record Money(BigDecimal amount, Currency currency) — автоматически immutable, equals, hashCode, toString. Примеры: Money, Email, Address, PhoneNumber. Не путать с @Value Spring — это другое.

Следующий вопрос

Как применять Strategy паттерн в Spring для бизнес-логики?