Size: a a a

Node.js — русскоговорящее сообщество

2020 March 05

UT

Unknown T. in Node.js — русскоговорящее сообщество
Бизнес логика от базы в mvc тоже отделена, разве нет
источник

YG

Yury Golikov in Node.js — русскоговорящее сообщество
Unknown T.
Бизнес логика от базы в mvc тоже отделена, разве нет
Нужно просто читать про SRP всякие и тогда подобного обсуждения не будет
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Unknown T.
Бизнес логика от базы в mvc тоже отделена, разве нет
нет, так как ваша бизнес логика и процессы запроса к базе, находятся в model. И это нефига не явно, что за что отвечает и как работает. А во вторых они зависимы от ваших UI и прочих процессов очень часто, что с точки зрения архитектуры, очень плохо.
источник

YG

Yury Golikov in Node.js — русскоговорящее сообщество
Сюрприз в том, что “писать все в контролерах/http хэндлерах” не всегда плохо, это все зависит от планируемых изменений, необходимой гибкости и скорости разработки.
источник

FM

Fedor Moroseev in Node.js — русскоговорящее сообщество
Unknown T.
Всем привет, в серверной части js совсем недавно, хотел спросить, какой фреймворк для приложения с API graphql + фронтом на react вы можете порекомендовать? Раньше использовал связку Laravel+Vue, хочу что-то подобное, только на новых для себя инструментах попробовать.
Мы сделали свой.
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Sergey Kazak
ага, а процессы это отдельно от кода? Угу, угу, да, да
Так вроде если ты один человек на проекте, то ддд излишен
источник

SR

Sergey Razumov in Node.js — русскоговорящее сообщество
Ману
А вообще не понимаю людей которые вечно пишут : а можно ли так или иначе даже не погуглив. Вас гугл или яндекс заблокировали что ли? Бесит сильно.
мне кажется просто в английский не умеют, в большинстве случаев
источник

YG

Yury Golikov in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
Так вроде если ты один человек на проекте, то ддд излишен
Он не излишен, он просто невозможен)
источник

МВ

Михаил Васильев in Node.js — русскоговорящее сообщество
Ману
А вообще не понимаю людей которые вечно пишут : а можно ли так или иначе даже не погуглив. Вас гугл или яндекс заблокировали что ли? Бесит сильно.
Это пошла лень
С другой стороны, они много не запомнят, не будет тебе конкурентов, в чем трабл?)

Такой же штукой иногда страдаю на элементарных вещах
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
Так вроде если ты один человек на проекте, то ддд излишен
сильно зависит от проекта. Если вы пилите в одиночку бек на каком-нибудь стартапе с притензией на энтерпрайз, то не излишен. если у вас проект мелкого интернет-магазина без особых претензий, то mvc ваше все, и ddd дейтсвительно и излишен. DDD это для сложных систем, а не простых. Она сильно улучшает организацию кода проекта и его поддержку.
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Sergey Razumov
мне кажется просто в английский не умеют, в большинстве случаев
гугл транслей в помощь, говорят он довольно близко к тексту переводит.
источник

МВ

Михаил Васильев in Node.js — русскоговорящее сообщество
Sergey Kazak
гугл транслей в помощь, говорят он довольно близко к тексту переводит.
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
я знаю эту штуку
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
Sergey Kazak
нет, так как ваша бизнес логика и процессы запроса к базе, находятся в model. И это нефига не явно, что за что отвечает и как работает. А во вторых они зависимы от ваших UI и прочих процессов очень часто, что с точки зрения архитектуры, очень плохо.
Процесс запроса данных из базы может находится внутри каких-нибудь приватных методов модели, а где им еще быть, если не в модели? Бизнес логика - либо в модели, либо в контроллере, зависит от ситуации. Не знаю, в чем вы тут видите нарушение spr
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Unknown T.
Процесс запроса данных из базы может находится внутри каких-нибудь приватных методов модели, а где им еще быть, если не в модели? Бизнес логика - либо в модели, либо в контроллере, зависит от ситуации. Не знаю, в чем вы тут видите нарушение spr
бизнес логика в контролере быть не должна никогда, контролер это управление запросом, и не должен в принципе ничего знать, о ваших бизнес процессах, как и ваши бизнес процессы, не должны ничего знать о базе данных, они должны передавать запрос что им нужно, а даставать это должен другой модуль. И при этом, ваши условные заказы, не должны быть связаны, с логикой оплаты, доставки и т.д. Бизнес логика делает свое дело, и дальше отдает или ответ, или делает запрос к переходному модулю, который что-там разруливает. В жтом случае ваша бизнес логика, отрезана и независима. Ей плевать, какая у вас БД на проекте, ей плевать, какой UI, она делает свою работу.
Простой пример DDD, у вас интернет магазин. В нем есть заказ товара, его оплата и доставка. При DDD, это не связаные между собой модули, которые могут иметь даже каждый свой UI, который о бизнес логике и базе данных, знать ничего не знает. И вы спокойно можете его вытащить из проекта, и заменить другим. Все остальное приложение даже знать об этом не будет. В случае же прекрасного среднестатистического MVC, попробуйте выпилить его из проекта, и поменять на что-то другое. Поверьте, доказано практикой. Если оно не спроектированно опытным архитектором, то вас ждет боль, много боли.
источник

YG

Yury Golikov in Node.js — русскоговорящее сообщество
Sergey Kazak
бизнес логика в контролере быть не должна никогда, контролер это управление запросом, и не должен в принципе ничего знать, о ваших бизнес процессах, как и ваши бизнес процессы, не должны ничего знать о базе данных, они должны передавать запрос что им нужно, а даставать это должен другой модуль. И при этом, ваши условные заказы, не должны быть связаны, с логикой оплаты, доставки и т.д. Бизнес логика делает свое дело, и дальше отдает или ответ, или делает запрос к переходному модулю, который что-там разруливает. В жтом случае ваша бизнес логика, отрезана и независима. Ей плевать, какая у вас БД на проекте, ей плевать, какой UI, она делает свою работу.
Простой пример DDD, у вас интернет магазин. В нем есть заказ товара, его оплата и доставка. При DDD, это не связаные между собой модули, которые могут иметь даже каждый свой UI, который о бизнес логике и базе данных, знать ничего не знает. И вы спокойно можете его вытащить из проекта, и заменить другим. Все остальное приложение даже знать об этом не будет. В случае же прекрасного среднестатистического MVC, попробуйте выпилить его из проекта, и поменять на что-то другое. Поверьте, доказано практикой. Если оно не спроектированно опытным архитектором, то вас ждет боль, много боли.
Нужно внимательнее читать SRP. И будет понятно что вся логика в контроллерах это тоже не нарушение SRP, зависит от кейса
источник

UT

Unknown T. in Node.js — русскоговорящее сообщество
Да без проблем, у меня бэк предоставляет просто API для приложения на фронте на react/vue, и этому приложению вообще все равно, что там внутри происходит
источник

YG

Yury Golikov in Node.js — русскоговорящее сообщество
А DDD это больше про “единый язык”, командную разработку ограниченные контексты
источник

SK

Sergey Kazak in Node.js — русскоговорящее сообщество
Unknown T.
Да без проблем, у меня бэк предоставляет просто API для приложения на фронте на react/vue, и этому приложению вообще все равно, что там внутри происходит
вы похоже не поняли. Мой совет, все тот же прочитайте про DDD, MVC и дуриге архитектуры, про паттерны разработки. Потому что "у меня бэк предоставляет просто API " вызывает только улыбку.
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Yury Golikov
А DDD это больше про “единый язык”, командную разработку ограниченные контексты
Это уже более продвинутое понимание
источник