Size: a a a

Software Design/Architecture/Zen

2020 October 19

SP

Sergey Protko in Software Design/Architecture/Zen
а, он уже там... ну тогда ладно
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Где?)
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
Sergey Protko
не надо человека направлять на этот скользский путь
ну я хотел сказать по-другому, а вышло так как у него папочки лежат 😂
источник

AL

Anton Lakotka in Software Design/Architecture/Zen
тебе надо делить по функциональным частям.
у тебя нет функциональности Application у тебя есть Comment где внутри у тебя будет Thread и Message.
а вот уже внутри могут лежать папки с названием Read например.
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Anton Lakotka
тебе надо делить по функциональным частям.
у тебя нет функциональности Application у тебя есть Comment где внутри у тебя будет Thread и Message.
а вот уже внутри могут лежать папки с названием Read например.
То есть read будет в папках модели?
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Сергей Предводителев
То есть read будет в папках модели?
Рид модель же
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Application управляет доменом.
Инфраструктура обеспечивает их репозиториями.

И отдельно read, где внутри лежат реад-можели и репозитории
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Anton Lakotka
тебе надо делить по функциональным частям.
у тебя нет функциональности Application у тебя есть Comment где внутри у тебя будет Thread и Message.
а вот уже внутри могут лежать папки с названием Read например.
Ааа. Я вчитался и понял. То что я описал это все лежит внутри папки Comments.

Comments/Application
Comments/Domain
Comments/Infrastructure
Comments/Read
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
И ещё
Comments/Api - через эти классы другие модули общаются с комментами
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Такой себе недомикросервис внутри монолита :)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Сергей Предводителев
Такой себе недомикросервис внутри монолита :)
не стоит употреблять эти термины
источник

SP

Sergey Protko in Software Design/Architecture/Zen
какая разница, модули они и в африке модули, связанность она и в африке связанность. кохижен он и в африке ну ты понял
источник

SP

Sergey Protko in Software Design/Architecture/Zen
модуль как деплоймент таргет или модуль как часть большой системы которая деплоится вся - это уже детали
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Я пока в этом всем плаваю сильно. Но возвращаясь к исходному вопросу...

Код, который обновляет данные для реад-моделек - там же в read должен лежать?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
При создании комментария в домене создаётся также событие "создан комментарий" (тригерится оно после сохранения в БД).

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

Такая схема в целом норм?
Если да, то в каком месте должен лежать код, который считает и записывает эти данные...
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
early return для слабаков)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Сергей Предводителев
Я пока в этом всем плаваю сильно. Но возвращаясь к исходному вопросу...

Код, который обновляет данные для реад-моделек - там же в read должен лежать?
я бы сложил рядом то что относится к одной и той же функциональности (меняется по схожим причинам) а не "логически" мол репозитории к репозиториям контроллеры к контроллерам. Мол по фичам а не по техническим аспектам. Или "соблюдая SRP формировал пакеты/модули/неймспейсы")

А так - как хочешь так и делай, тебе ж этой структурой пользоваться) можно максимум порекомендоват почитать про information hiding, low coupling hight cohesion
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Да, это "сложнее" (надо думать куда положить) но "надо думать" это хорошо
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Сергей Предводителев
Я пока в этом всем плаваю сильно. Но возвращаясь к исходному вопросу...

Код, который обновляет данные для реад-моделек - там же в read должен лежать?
код который обновляет рид-модельки - вообще отдельный код, и чем дальше он от write модели, тем лучше (дальше в плане зависимостей от write части)
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Dmitriy Tkachenko
код который обновляет рид-модельки - вообще отдельный код, и чем дальше он от write модели, тем лучше (дальше в плане зависимостей от write части)
Так он от write части вообще никак не зависит,кроме подписки на события
источник