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

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

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

17 ответов

24 просмотра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта