Привет!
Собрал на вики страничку с экспресс-курсом Spring Data JDBC :)
Плюс накидал несколько заготовок паттернов:
1. SDJ
1.1 Маппинг исключений на DataAccessException (v1.0.0)
2. Реализация домена
2.1 UUIDv7 в качестве идентификаторов сущностей (v0.0.0)
3. Проектирование HTTP/JSON (REST) API
3.1 Добавляйте название сущности к параметрам идентификаторов (v1.0.0)
3.2 Используйте в маппинге эндпоинтов полные пути (v1.0.0)
#spring_data_jdbc@ergonomic_code #ergo_persistance@ergonomic_code #ergowiki@ergonomic_code
Собрал на вики страничку с экспресс-курсом Spring Data JDBC :)
Плюс накидал несколько заготовок паттернов:
1. SDJ
1.1 Маппинг исключений на DataAccessException (v1.0.0)
2. Реализация домена
2.1 UUIDv7 в качестве идентификаторов сущностей (v0.0.0)
3. Проектирование HTTP/JSON (REST) API
3.1 Добавляйте название сущности к параметрам идентификаторов (v1.0.0)
3.2 Используйте в маппинге эндпоинтов полные пути (v1.0.0)
#spring_data_jdbc@ergonomic_code #ergo_persistance@ergonomic_code #ergowiki@ergonomic_code
Эргономичный подход
Spring Data JDBC
Шаблоны проектирования и реализации агрегатов на базе Spring Data JDBC.
SDJ на одной странице По сути своей SDJ - простой как три копейки:
Он работает с агрегатами
Агрегат - это дерево с корнем
Корень агрегата - это класс с аннотацией Table
Границы агрегата…
SDJ на одной странице По сути своей SDJ - простой как три копейки:
Он работает с агрегатами
Агрегат - это дерево с корнем
Корень агрегата - это класс с аннотацией Table
Границы агрегата…
👍3🔥3❤2
Привет!
Добавил на вики пару заглушек паттернов тестирования:
1. Тестирование генерации xlsx-документов с помощью Apache POI
2. Используйте фейковый кодировщик паролей
#ergo_testing@ergonomic_code #ergowiki@ergonomic_code
Добавил на вики пару заглушек паттернов тестирования:
1. Тестирование генерации xlsx-документов с помощью Apache POI
2. Используйте фейковый кодировщик паролей
#ergo_testing@ergonomic_code #ergowiki@ergonomic_code
Эргономичный подход
Тестирование генерации xlsx-документов с помощью Apache POI (v0.0.0)
Тестирование кода генерации xlsx-документов является достаточно сложной задачей.
Верификация состояния XSSFWorkbook вручную будет очень громоздкой и сложной для чтения.
О существовании какого-то DSL-я, который бы позволял лаконичного и читаемо описывать корректные…
Верификация состояния XSSFWorkbook вручную будет очень громоздкой и сложной для чтения.
О существовании какого-то DSL-я, который бы позволял лаконичного и читаемо описывать корректные…
🔥5
Привет!
Докинул на вики рыбу статьи с ещё одним костылём для SDJ - как быть, если хочется сослаться на некорневую сущность агрегата.
#ergo_persistance@ergonomic_code #spring_data_jdbc@ergonomic_code #ergowiki@ergonomic_code
Докинул на вики рыбу статьи с ещё одним костылём для SDJ - как быть, если хочется сослаться на некорневую сущность агрегата.
#ergo_persistance@ergonomic_code #spring_data_jdbc@ergonomic_code #ergowiki@ergonomic_code
Эргономичный подход
Ссылки на некорневые сущности (v0.0.0)
По философии DDD идентичностью (глобальным идентификатором) обладают только корни агрегатов, соответственно извне агрегата ссылаться можно только на его корень.
Однако время от времени возникает необходимость сослаться на некорневую сущность агрегата.
Примером…
Однако время от времени возникает необходимость сослаться на некорневую сущность агрегата.
Примером…
👍3
Ну и за одно полезняшка - рыба статьи на вики о том как поддержать мультитенантность на базе схем в Spring Data JDBC. Основана на опыте её реализации в #project_r
#spring_data_jdbc@ergonomic_code #ergowiki@ergonomic_code #project_r@ergonomic_code
#spring_data_jdbc@ergonomic_code #ergowiki@ergonomic_code #project_r@ergonomic_code
Эргономичный подход
Мультитенантность на основе схем (v0.0.0)
Для того чтобы поддержать мультитенантность на основе схем, глобально надо сделать три вещи:
Опционально: завести кастомную аннотацию для бинов обеспечиваюищих мультитенантный режим
Завести ресурс/инфраструктурный компонент, который будет хранить тенанта…
Опционально: завести кастомную аннотацию для бинов обеспечиваюищих мультитенантный режим
Завести ресурс/инфраструктурный компонент, который будет хранить тенанта…
👍3🔥3