Size: a a a

Архитектура ИТ-решений

2021 July 05

p

pragus in Архитектура ИТ-решений
типы
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Вот это прям очевидно-оголтелое передергивание с обобщением, не так ли? :)
источник

p

pragus in Архитектура ИТ-решений
Самый простой пример: что помешает подставить вместо id пользователя id какой-то другой сущности по ошибке?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Хм. Ты же сам это сказал, нет разве?
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Нет. Я сказал совсем другое.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Типизация dao-функции.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ты сказал, что авторефакторинги в ORM (типа переименования поля) возможны только в случае простоя при выкладке.
Если нет, то разъясни
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Если композит - то там тоже лямбда, почему нет? Но забирать сложные сущности из БД вообще не стоит )
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Нет, я сказал, что связанные с переименованием блокировки могут быть не важны в огромном числе контекстов, в отличие от тех, к которым обычно апеллируешь ты.
И уж если вдруг в твоем контексте это важно - ну, ты лишаешься такой возможности, уж будешь ты использовать ORM или нет.
Можно посочувствовать, но это преимущество ORM не пропадает для тех контекстов, где это не важно
источник

p

pragus in Архитектура ИТ-решений
Я не про сборку, а просто про запись. У тебя есть композитный объект, который при сохранении  в бд распадается на пачку сущностей в разных таблицах.
Самый простой пример, когда у тебя есть зависимости между полями, вроде "имя не должно быть женским, если указал пол - мужской"
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А в каких контекстах это не важно?
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Начинаем повторяться. Там, где есть регулярный штатный downtime. Например, для обновления. Например, каждую ночь.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
То есть системы  без 24*7 или без требований к выкладки без простоя?
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Ну да. Таких много.
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Просто представьте себе проект, где основная сложность - вообще не в 24x7 и не в performance, а в количестве логики выборок и разных структур БД (несколько сотен таблиц при среднем уровне нормализации на команду из 5-10 человек). С объемом данных не огромным но достаточным для того, чтобы уже не работал подход "загрузим все в память, там разберемся". Ну, несколько сот гигабайт.
Я с этим активно сталкивался в ритейловых проектах.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ок. Я просто пытаюсь понять, когда имеет смысл применять ORM.
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
Когда major challenge - в количестве и разнообразии структур и выборок.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ага. А почему такая нормлизация и зачем так много таблиц? Там реально не проще сделать через json-поля?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Или даже jsonb (если повезло и PG в проекте)
источник

IB

Igor Bespalchuk in Архитектура ИТ-решений
JSON (если мы не говорим про экзотику типа JSON-запросов) поля никак не спасают,
если у тебя высокое разнообразие соединений.
источник