Всем привет) вопрос на тему VO.. допустим проект монолит, но

стремимся делить на модули, чтобы в будущем было легче все это дело переводить на микросервисы
можно ли расшарить некоторые VOшки на все модули, почему это может быть плохо?

уточню, расшарить хочется например адрес, у него могут быть nullable поля, адрес же
нет желания шарить все подряд, только штуки типа фио, денег, адрес и тп
любой кто будет юзать эту структуру данных, должен будет сам проверять, достаточно ли ему этой voшки, это норм?

17 ответов

16 просмотров

Попробуйте расширить просто addressId зачем вам все эти данные дублировать во все модули?

Евгений-Котов Автор вопроса

можно подробнее? не очень понял сейчас у нас в каждом модуле свои VO для адресов, это какая-то дичь, кмк

А зачем каждому модулю что то кроме айди адресса? Пусть детали адреса знает только модуль который его контролирует. А если это разные адреса например билинг и шипинг то тогда разные айди ну и они внутри себя адрес хранят.

Приведите пример зачем нужна информация по адресу во многих модулях? Почему айдишника недостаточно?

Евгений-Котов Автор вопроса

ну, вообще как я вижу - во многих местах хранить всю инфу совсем не нужно, достаточно айдишника но это ж таскаться в бд, если хочешь адрес достать (если что, я не считаю это чем-то плохим) в каких то местах да, надо адрес "зафиксировать" в документах например

Фиксируйте адрес в модуле адреса там где они у вас. Зачем его тащить наружу?

Евгений-Котов Автор вопроса

кстати да, тоже верно

А деньги в модуле денег

Просто просите зафиксировать вам адрес с айдишником таким то и на выход новый айдишник можно получить. Или в мрдуле адресов лучше хранить для какого айди было зафиксировано

Я же в качестве примера. Имеется ввиду любой модуль который инкапсулирует данные адресов

Евгений-Котов Автор вопроса

так а если мы шарим эти адреса, это получится именно модуль адресов 🤔

Слишком упрощённый пример, что может привести к оверинжинирингу на ровном месте ради культа карго

Не надо шарить адреса. Они минимальный кирпичик. Лучше в него скармливать айдишки снаружи. Тоесть адрес должен знать о заказе а не заказ о адресе.

Ну вот как человеку, что не варится во всей этой сумер модульности адекватно понять это сообщение? Получится в итоге дичь

Ну из меня плохой обьяснятор. Буду рад если у вас получится лучше сформулировать.

Ну как надо чтобы более частные вещи зависли от общих а не общие от частных.

Это слишком сложные концепты (по архитектуре показанной выше в примерах) для объяснения на пальцах за 30 минут

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта