Size: a a a

Software Design/Architecture/Zen

2020 October 19

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
в таком случае нет смысла говорить о "комменты по задаче / посту / новости". может быть в теме сколько угодно задач, постов, новостей, комментов.
Теоретически можно и так) это уже внешним модулям решать. Модулю комментариев пофигу)
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
можно попробовать изобрести такую универсальную связь через uuid, типа related_object_uuid, related_object_type, comment_uuid. чтобы можно было связывать коммент через эту табличку с чем угодно, и не пришлось бы вносить правки. просто добавляешь нужные related_object_types и все
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
можно попробовать изобрести такую универсальную связь через uuid, типа related_object_uuid, related_object_type, comment_uuid. чтобы можно было связывать коммент через эту табличку с чем угодно, и не пришлось бы вносить правки. просто добавляешь нужные related_object_types и все
Как-то не очень красиво выходит, мне кажется
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
зато ты можешь добавлять любое количество сущностей в систему, к которым можно делать комменты, не трогая комменты. если такой задачи нет - то ок. тема так тема.
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
зато ты можешь добавлять любое количество сущностей в систему, к которым можно делать комменты, не трогая комменты. если такой задачи нет - то ок. тема так тема.
Так я и сейчас могу добавлять комменты к чему угодно не трогая комменты
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
да, для этого тебе придется увязать эту сущность с темой.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
и да, комменты не будут указывать напрямую на эту сущность, они просто будут по теме.
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Допустим какие-нибудь задачи. Я пилю код в задачах, который регистрирует тему запросом в модуль комментариев.

Сам модуль комментариев при этом не трогаю
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
если у тебя в теме только одна эта сущность - все ок. но если там 10 таких сущностей, а также задачи, посты и новости - то к чему коммент? как понять?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
В моей логике в одной теме - одна сущность.

Но если даже несколко сущностей на одной теме, то значит коммент относится к группе сущностей, а не какоц-то конкретно
источник

СП

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

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
а, т.е. у тебя есть контроль на уровне домена, что если что-то одно привязано к теме, то больше ничего уже не привяжешь. тогда ок.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Алексей Гевондян
можно попробовать изобрести такую универсальную связь через uuid, типа related_object_uuid, related_object_type, comment_uuid. чтобы можно было связывать коммент через эту табличку с чем угодно, и не пришлось бы вносить правки. просто добавляешь нужные related_object_types и все
вот нахуй?)
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
а, т.е. у тебя есть контроль на уровне домена, что если что-то одно привязано к теме, то больше ничего уже не привяжешь. тогда ок.
Нет такого контроля, зачем?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Сергей Предводителев
Нет такого контроля, зачем?
чтобы не навешать на одну тему все на свете
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
чтобы не навешать на одну тему все на свете
Да у меня даже кода такого не планируется. Есть метод создания темы, а метода привязки к теме вообще нет))
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Алексей Гевондян
чтобы не навешать на одну тему все на свете
да, давайте не будем пытаться писать как мудаки и повесим всю ответственность за контроль стэйта на базу)
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну база сама по себе даст возможность взять тему, и нафигачить в ней сколько угодно остальных сущностей, для которых можно задать тему. вот недопустить такое можно уже через код. можно конечно и через базу - там триггеры какие-нибудь, и будет жесть
источник

SP

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