Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Хотелось бы обсудить с мужчинами... странный концепт... (https://javascript.ru/forum/node-js-io-js/61352-khotelos-obsudit-s-muzhchinami-strannyjj-koncept.html)

Max Power 14.02.2016 22:32

Хотелось бы обсудить с мужчинами... странный концепт...
 
Я как-то психанул и переписал 80% одного Djanogo-проекта на Ноду, а конкретно на koa.

После f magic с Django ORM хотелось прямо чистейшего raw SQL, и вообще всего raw, поэтому вот что вышло:

https://gist.github.com/i-erokhin/854467a837141c61f403

Пока что это не более, чем результат быстрого прототипирования, но вот основные концепты:

* ORM отдыхает, SQL решает
* Jade решает, логика уровня view везде кроме шаблона отдыхает
* Knex как query-builder решает, потому что на хардкоре строковый raw-SQL тоже отдыхает.
* Классический web-билдерский MVC отдыхает, потому что SQL решает. База данных - это и есть модель, все остальное контроллер или view (view-это Jade и только он). Плохой SQL заменится хранимкой.
* Тесты - не главное. (А вдруг) все работает уже сейчас. Потом можно структурировать и обложить.

Ну как в целом концепт?

Max Power 16.02.2016 13:22

Дальнейшее развитие:

https://gist.github.com/i-erokhin/84a7ddd06b7f376c39a6

Тут коцепт раскрывается полнее, в частности, уточнения SQL-запросов с помощью knex: https://gist.github.com/i-erokhin/84...file1-txt-L280

Работать с хорошим query-builder гораздо приятней, чем с ORM.

Этот код представляет собой классический чистый контроллер.
1) Он ничего не знает о данных, он не работает с данными. Он знает только где их взять.
2) Он ничего не знает об уровне view, все что он знает - какому view делегировать, и какие данные ему дать.

Если дойдут руки - есть мысль вообще весь SQL засунуть в хранимые процедуры. Но пока не хватает знаний о рефакторинге таких БД.

Zend 19.02.2016 23:36

Цитата:

query-builder
хм. это идея. завтра на работе попробую


Часовой пояс GMT +3, время: 12:48.