Anonymous
Sergey
Ну ты покажи
да смысл?
В каждой модели написано has_many ModelName или many_to_many
и один метод в BaseModel который выполняет оптимизацию
всё
Ale
Дима
Дима
Память ОЗУ тоже не очень же
Anonymous
Ale
С++, Java..?
ага, экономия памяти и хаки вместо красивой системы типов
Ale
которую потом предложили новые фпшные языки
Ale
ну плюсам надо было юзать все, что есть в си максимально также, у жавы таже проблема, маркетинг короче
Дима
Просто у меня nohm не едет, ряд проблем с ним, я вот думаю, это из-за того, что мы с автором либы только в двоём малость поехали и больше это никому не нужно или как
Vladimir
То есть проблема все таки не в ноде, а в ОРМ?
Ale
и просто гидрировать в нужный обекът
Anonymous
Дима
Багнутая либа
Дима
Ну просто мне надо хранить структуры похожие на объекты, и руками всё писать малость надоело
Дима
Заюзал nohm и поехало, то пустые поля вернет, то ещё что
Sergey
да это всё понятно
мне бизнес-логику тоже на sql каждый раз писать?
или может мне заменить орм на свою реализацию и собирать sql по кусочкам?
Ale
ну ты в курсе, что БЛ на средне-больших проектах живет не в ActiveRecord моделях?
Ale
они юзаются как dao или типа того
Vladimir
Бизнес логика должна быть отделена от хранения в идеале
Vladimir
Это антифича рельс
Igor
Anonymous
нет
промисы конечно (можно было и async/await но тогда было не вариант)
но! Либо мне писать подобные запросы/обработки каждый раз
либо выносить в метод, но тогда начинается вопрос обработки эксепшенов потому что часть либ юзающих промисы не выбрасывает наружу эксепшен и если что-то пошло не так, ты можешь об этом не узнать, потому что ошибка закралась в код маленькой функции которую ты пробросил в библиотеку чтобы отфильтровать выборку
Лол. Так всё, что на колбэках, легко промисифицируется (если ещё не промисифицировано). А в колбэк тебе приходит ошибка, если что-то не так. Если пришла ошибка, реджектишь промис. Профит. Перехват исключений не работает с асинхронными операциями (работает, еслми пишешь async/await). Новичкам всегда рекомендую сначала писать без промисов и asyn/await и переходить на них только тогда, когда они избавятся от callback-hell БЕЗ НИХ (да, так можно).
Sergey
бля
Sergey
вот почему в рубях заюзать просто DCI для отделения бизнес-логики от всего это просто
а в js это КОСТЫЛЬ
Nikolay
ОРМ для редиса это круто, я вот не нашел в свое время, пришлось пилить все руками.
Sergey
Сервис-объект и форм-объекты в js ой как удобно реализовывать
Anonymous
Sergey
Sergey
эм
Igor
у вас недопонимание
Sergey
ну например, чтобы сделать в чистом виде надо создать 3 класса, в каждом классе 3 переменные которые будут указывать на соседей, и вызывать методы цепочками, потому что честного способа расширить объект нет
Sergey
Anonymous
Sergey
Дима
Vladimir
> @sovamist
потому что честного способа расширить объект нет
прототипы?
Sergey
в руби есть великолепная вещь: модули
model_object.extends SomeRole
Sergey
Vladimir
нет
Vladimir
классы вообще особого значения не имеют в js
Vladimir
Object.create() и вперед
Sergey
а
Дима
Ето староверы
Sergey
ну костыль же
Anonymous
Vladimir
Object.assign(model, logic)
Vladimir
Но это какой то нехороший паттерн
Ale
во-во
Sergey
Sergey
MVC тоже плохой ))
Sergey
чего уж
Vladimir
Что мешает делать logic(model)?
Ale
add(some(cool(feature(to(my(old(object)))))));
Дима
Vladimir
Sergey
ничего так, да))
Anonymous
СТОП. Нафига одному объекту наследовать другой объект и зачем им тогда классы?
Sergey
Anonymous
Не перебор ли?
Дима
Ale
лол, если ты наследуешь, то модель тонкая?))
Дима
Но я по прежнему хз о чем вы
Vladimir
> @ZeroBias
Я не читал что тут происходит
Ну типо добавление функционал к объекту
Ale
типа 100 маленьких классов в наследовании дают маленькую модель? /0
Vladimir
Как декоратор, но не по GoF
Sergey
Sergey
как раз БЕЗ наследования
Дима
Too high
Ale
даже если ты юзам вставляеш в объект
Ale
типа как assign или декоратором