Size: a a a

Software Design/Architecture/Zen

2020 October 19

DT

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

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Dmitriy Tkachenko
тогда ложи куда удобнее, какая разница?
Не имея опыта тяжело понять где же удобнее)))
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Сергей Предводителев
Не имея опыта тяжело понять где же удобнее)))
представь, тот факт что рид моделька эта оказалась в одном проекте по счастливой случайности и не более того. Куда бы ты ее положил? Может ли она вообще вне папки с проектом лежать?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Sergey Protko
я бы сложил рядом то что относится к одной и той же функциональности (меняется по схожим причинам) а не "логически" мол репозитории к репозиториям контроллеры к контроллерам. Мол по фичам а не по техническим аспектам. Или "соблюдая SRP формировал пакеты/модули/неймспейсы")

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

SP

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

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Dmitriy Tkachenko
представь, тот факт что рид моделька эта оказалась в одном проекте по счастливой случайности и не более того. Куда бы ты ее положил? Может ли она вообще вне папки с проектом лежать?
Ну теоретически конечно может отдельно.... Но как-то не удобно
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Sergey Protko
достаточно в другом файле, не перегибай
если его не связывает ничего, кроме структурок сообщений, зачем его вообще куда-то во write часть ложить
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Dmitriy Tkachenko
если его не связывает ничего, кроме структурок сообщений, зачем его вообще куда-то во write часть ложить
зачем делать врайт часть как отдельный модуль? think about it :)
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
А сама идея, что реад по событию сохраняет для себя дополнительную информацию - это норм?
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Sergey Protko
зачем делать врайт часть как отдельный модуль? think about it :)
ты с другой стороны зашел, рид - это как код где-то сбоку, свои структурки, свои инфраструктурные дела. про write я не говорил)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Сергей Предводителев
Не имея опыта тяжело понять где же удобнее)))
есть простой способ разобраться. Задай вопрос что ты хочешь от структуры. Например вот вопросы которые у меня к структуре возникают:

- куда положить новую штуку? Вот делаю я новую фичу и мне надо куда-то файлики положить? куда? почему?
- как разобраться что есть в проекте, мол я новенький и открыв структуру проекта вижу application/domain/infrastructure/etc - круто, не оч помогает
- как обеспечить границы зон ответственности. не "слои" а именно что когда я работаю с комментами мне в целом не оч надо трогать посты или там темы. Мол представь что "разные люди за разные фичи отвечают".
- как обеспечить учет зависимостей между модулями. Как трекать кто от кого зависит. Мне надо трекать что инфраструктура зависит от домена или мне надо трекать какие фичи от каких зависят?
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
я вообще чем больше работаю тем больше понимаю что правильное название - это 80% работы
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Ну тоесть появились у тебя проекции на колоночной БД, там еще в редис проекция пошла, и шо, все в Comments/Read пихать?)
источник

АЯ

Андрей Ява in Software Design/Architecture/Zen
и да, джавастайл - это не правильное название.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Dmitriy Tkachenko
Ну тоесть появились у тебя проекции на колоночной БД, там еще в редис проекция пошла, и шо, все в Comments/Read пихать?)
если это только про комменты то да, может быть какие-то общие вещи которые более общие проблемы решают еще куда поместить
источник

SP

Sergey Protko in Software Design/Architecture/Zen
мол "инфраструктурная часть комментов" может зависеть от общей инфраструктуры
источник

SP

Sergey Protko in Software Design/Architecture/Zen
опять же, это все сложно переваривать когда людей с кодом работают мало (до 10-ти например).  Когда мы начинаем говорить о 10-ти командах это все куда важнее)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну и да, до N людей в целом плевать вообще - разберетесь)
источник

SP

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

SP

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