tgoop.com/amplicode/218
Last Update:
🧩 Агрегаты в Spring Data JDBC: как понять, что вы вообще построили? #coming_soon
Когда вы строите приложение следуя DDD, одна из ключевых задач — чётко понимать границы агрегатов:
Особенно это актуально для Spring Data JDBC, где парадигмы DDD зашиты в ДНК фреймворка, а вместо привычных многим аннотаций @ManyToOne
, @ManyToMany
и т.д., используются AggregateReference
и @MappedCollection
.
Разобраться в структуре проекта с такими вводными – нетривиальная задача.
Даже если вы придерживаетесь всех рекомендаций DDD — всё равно в какой-то момент ловите себя на мысли: «А где, собственно, начинается и заканчивается мой Order агрегат? Почему он вдруг знает про Payment, а тот — про Discount?»
Начиная со следующего релиза, Amplicode Explorer будет показывать структуру вашей доменной модели именно с точки зрения агрегатов. Не просто дерево сущностей, а агрегаты как концепции DDD. Что является AggregateRoot, какие есть вложенные коллекции через @MappedCollection
, где используются AggregateReference
.
P.S. Как вам такая визуализация DDD? Может стоит и для JPA сделать подобное представление 😉?