@oop_ru

Страница 604 из 785
Bohdan
12.04.2018
12:46:04
императивный слой, все дела кто-то должен координировать происходящее

Sergey
12.04.2018
12:46:28
послал и забыл

Google
Sergey
12.04.2018
12:46:40
это ж событие а не команды какие-нибудь)

Bohdan
12.04.2018
12:47:29
а зачем тебе промисы с событиями
так не мне) насколько я понял, @artnv хочет размазать обработку зарезолвившихся промисов по хендлерам событий

Like
12.04.2018
12:47:30
Я делаю события только для штук которые попадут в очередь (не всегда) Для остального я делаю сервисы и вызываю в нужных местах, почему бы и нет

Art
12.04.2018
12:47:31
я вот не понимаю все это. Если все эти фишки использовать по полной еще хуже можно наворотить

Like
12.04.2018
12:49:05
я вот не понимаю все это. Если все эти фишки использовать по полной еще хуже можно наворотить
Ну а зачем тебе на каждый ответ создавать событие (просто чтобы обработать)?

То что ты вынесешь код с одного файла в другой ничем особо не поможет

Объясни зачем ты хочешь это сделать, возможно, мы просто не понимаем :)

Art
12.04.2018
12:50:19
Тоже мысль пришла что думаем о разных задачах и отвечаем)

Bohdan
12.04.2018
12:52:32
тут странное...

ну во-первых имхо спутаны понятия команды и события

Google
Bohdan
12.04.2018
12:52:55
хотя...

да нет, не спутаны, тут четко все

меня смущает разделение controller и view в этой ситуации

т.к. это явно не mvc и даже не mvp

Like
12.04.2018
12:55:00
меня смущает разделение controller и view в этой ситуации
Да вроде как все логично Роутер -> Контроллер -> поехали дальше

Меня правда смущает то что модель потом в события кидает

Bohdan
12.04.2018
12:56:20
просто контроллер потом дергает модель, а ивент от модели ВНЕЗАПНО летит во view

Like
12.04.2018
12:56:42
А, он во вьюху полетел, не доглядел.

Bohdan
12.04.2018
12:56:44
это вроде бы частично mvc-like типа вью реагирует на событие модели но блин, выборка - это не событие

ну и обратная связь от вью идет через контроллер...

Like
12.04.2018
12:57:19
Если убрать контроллер и сделать привязку вьюшки на модель - все будет хорошо

Bohdan
12.04.2018
12:57:20
какая-то смесь mvc и mvp имхо

Если убрать контроллер и сделать привязку вьюшки на модель - все будет хорошо
какая-то прослойка между роутером и моделью должна быть

Like
12.04.2018
12:58:45
какая-то прослойка между роутером и моделью должна быть
Ну, я когда писал на Qt, все что у меня было - view (QML) + model (прослойки я сам делал, но они не нужны были по факту) Там автоматическая подписка на изменение свойств модели + можно вручную все это делать (уведомить модель например)

Я не знаю применимо ли это к джсу (так как не юзаю его), но на пыху точно не прикрутить

Art
12.04.2018
13:00:29
меня смущает разделение controller и view в этой ситуации
тут js тут свои порядки). Можно было бы в контроллере получить данные из модели и передать в представление, но а как быть с ассинхронностью? Если модель запросит данные по аяксу? Когда данные придут пуляется событие на которое подписана представление. Ну как-то так)

Art
12.04.2018
13:01:23
Like
12.04.2018
13:01:27
Если там не валидные данные или сервер умер?

Google
Like
12.04.2018
13:01:54
Art
12.04.2018
13:02:00
я планирую в отдельный пустой проект вынести все

чтобы юзать можно было

Bohdan
12.04.2018
13:02:25
не знаю, зачем такое не вью, если есть vuex ?

аналогично и реакт

Like
12.04.2018
13:02:34
я планирую в отдельный пустой проект вынести все
> Когда данные придут пуляется событие на которое подписана представление Я не понимаю почему так

Art
12.04.2018
13:02:37
не, роутер от бекбона и события. Но архитектура позваляет их не использовать а исаользовать от других библиотек

я тут проконсультировался в соседнем чате, там вуе тоже можно использовать короче

Bohdan
12.04.2018
13:03:09
не, роутер от бекбона и события. Но архитектура позваляет их не использовать а исаользовать от других библиотек
тут хз, я очень давно не писал на подобных фронт-фреймах (был только первый ангулар)

Like
12.04.2018
13:03:23
Like
12.04.2018
13:03:57
мм?
Там теперь есть вьюшка которую ты собираешь из компонентов

А не компонент - отображение

Art
12.04.2018
13:04:12


Bohdan
12.04.2018
13:04:19
Like
12.04.2018
13:05:48
https://github.com/vuejs/vue-hackernews-2.0/tree/master/src

Bohdan
12.04.2018
13:06:25
или App.vue?

Google
Like
12.04.2018
13:06:34
Да, Item

Я ставил полгода назад - были только компоненты ?

Bohdan
12.04.2018
13:06:55
дык это тоже компонент

и я на вью уже с полгода точно пишу понемногу

а то и больше

Like
12.04.2018
13:07:39
Ну, значит они не закидывали это во vue-cli

Bohdan
12.04.2018
13:07:58
Ну, значит они не закидывали это во vue-cli
тут возможно но вот такая идея есть давно

Like
12.04.2018
13:08:00
Ибо я поставил позавчера и немного "испугался"

Art
12.04.2018
13:44:41
> Когда данные придут пуляется событие на которое подписана представление Я не понимаю почему так
Модель ака метод который запрашивает данные допустим о товаре, его описание, отправляет ajax запрос на сервер, как данные приходят срабатывает коллбек по приходу данных, этот же коллбек вызывает событие: app.eventManager.trigger('Models/product/getData', 'данные'); app - единственное глобальное свойство, которое доступно во всех модулях. 1-ый аргумент адрес где оно произошло, чтобы легче искать было если что, можно и краткой записать event_1 но так придется по всем файлам лазить искать откуда оно сработало. Директория Models, product - название модуля, getData - метод модуля 2-ой аргумент данные из ajax запроса. Теперь app.eventManager.trigger будет искать и запускать все методы, с именем события с которым совпадает 'Models/product/getData'. И наше представление подписано на это событие. app.eventManager.on('Models/product/getData', showData); теперь запустится метод showData который получит данные из передаваемых аргументов и отобразит на странице инфу. модели и представления хранятся в разных директориях и друг о друге ничего не знают. Они только реагируют на события и так же отвечают. Гугли короче паттерн наблюдатель и pub/sub вот от бекбона, просто посмотреть что это http://backbonejs.ru/#Events

все, пойду на велике катну пока светло)

Bohdan
12.04.2018
13:49:32
расслабиться :D

Like
12.04.2018
13:49:48
Мне лень эту простыню читать :(

Bohdan
12.04.2018
13:52:06
Мне лень эту простыню читать :(
ну там просто шина событий описана tldr

я не понимаю одного: зачем в 2к18 (тролльфейс.жпг) писать модели на фронте, если есть fluxоподобные штуки?

Art
12.04.2018
14:13:09
ну это мой велосипед потому-что) А так посмотри тот проект. Код разделен. Есть контроллеры для сайта, для админки, так же можно задать директории для моделей и для представлений, для виджетов и компонентов. Короче можно приложение расширять вдоль и поперек при этом сохранив быстрый доступ к коду. Модули друг о друге ничего не знают, если есть зависимости то они передаютя в DI контейнере и того получается слабосвязанный код. Модули содержат только свои методы. Например корзина только методы корзины, отсюда и единственная ответственность. В ручную подключать файлы не нужно, есть пространства имен и все подключится туда куда нужно а gulp все сам соберет в один файл. Так же можно подключить Vue. Во время инициализации Vue будет в памяти. А события будут вызывать хендлеры которые будут получать данные, а Vue просто отображать на странице. Кстати Vue тоже ничего не будет знать об архитекторуре, он будет только в рамках view просто получать данные и отображать. А в момент вызова хендлера можно так же биндить ко всяким чекбоксам динамически В общем мне нравится) Вот схема https://raw.githubusercontent.com/artnv/ecommerce-demo/master/screenshots/app_architecture.png

code4aman
12.04.2018
14:13:39
отзывы чота неочень
Коллеги книга была, я чуть полистал тока ?‍♀️

Bohdan
12.04.2018
14:22:46
про flux слышал но пока не читал)
ну это redux/vuex/mobx и прочие

Google
Bohdan
12.04.2018
14:24:01
архитектура в общем и целом имеет право на жизнь когда писал на первом ангуларе - коллега (мой ментор + лид) строил что-то подобное без ивентов, но с моделями для сущностей

тут хорошо типизация легла бы

Art
12.04.2018
14:28:46
с событиями очень нравится самому), как-то что-то делал, перекладывал файлы, не помню и все не рушится от отстутсвия какого-то модуля. Можно тупо часть функционала убрать тупо удалением или перемещением но все остально будет так же работать, потому-что все модули не знают ничего друг о друге. И те же ассинхронные запросы от ajax

типизация как в php? на интерфейсах и возвращаемый тип function abc() : className?

Bohdan
12.04.2018
14:29:48
flow/typescript имею ввиду)

Maksim
12.04.2018
14:30:46
reactphp еще
amphp "более лучше")

Bohdan
12.04.2018
14:31:23
amphp "более лучше")
ты знаешь мое мнение) хоть у меня и лежало немного инфы по асинк пхп в трелло, но читать я ее, конечно, не буду

Like
12.04.2018
14:31:23
Стат типизация
Ну, в смысле int s(int a, int b) => a + b;

Bohdan
12.04.2018
14:32:59
почти, но зачем?)

интеграция, не спорю

Like
12.04.2018
14:33:22
Абы було

Maksim
12.04.2018
14:33:24
почти, но зачем?)
что бы об go руки не пачкать)

Like
12.04.2018
14:33:32
Sergey
12.04.2018
14:34:19
Maksim
12.04.2018
14:34:30
почти, но зачем?)
а вообще почитать стоит хотя бы для общего развития) оно есть и +/- работает)

Bohdan
12.04.2018
14:36:17
а вообще почитать стоит хотя бы для общего развития) оно есть и +/- работает)
ну опять-таки, я хочу почитать и пощупать асинхронность и многопоточность в тех языках, которые с этим были написаны - зачем мне для этого php? только впечатление испорчу) p.s. js с async/await неинтересно ;D

Bohdan
12.04.2018
14:37:39
одно другому не мешает от слова совсем)
не мешает, не спорю но тем не менее прио асинк пхп штук на порядок ниже остальных

Maksim
12.04.2018
14:38:18
у нас вон есть и голанг, и ява, и асинх пхп рядышком)

Страница 604 из 785