Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.04.2014, 19:14
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Креативненько, но в рамках связывания по событиям работается не чуть не хуже. ООП с парадигмой реактивного программирования вполне справляется.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 21.04.2014 в 19:50.
Ответить с цитированием
  #12 (permalink)  
Старый 26.05.2014, 01:03
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

Ага, только приходится руками подписываться и руками же не забывать отписываться. Атомы же абстрагируют от необходимости подписки-отписки. Прочитал значение - значит ты от него зависишь. Всё.
__________________
.ня
Ответить с цитированием
  #13 (permalink)  
Старый 07.11.2014, 17:27
Новичок на форуме
Отправить личное сообщение для and_07 Посмотреть профиль Найти все сообщения от and_07
 
Регистрация: 07.11.2014
Сообщений: 2

Доброго времени суток
начинаю разбираться с данным паттерном
что давольно сложно для меня))
+ наткнулся на GitHub на такую либу (https://github.com/zynga/atom)
на мой взгляд она попроще чем ваша (на много))
так вот хотелось бы узнать ваше мнение
Ответить с цитированием
  #14 (permalink)  
Старый 22.01.2015, 15:35
Новичок на форуме
Отправить личное сообщение для ftx09 Посмотреть профиль Найти все сообщения от ftx09
 
Регистрация: 22.01.2015
Сообщений: 2

А как быть с контекстом выполнения? Вся связь атомов происходит в глобальном контексте, на клиенте это вкладка браузере. Обновил страницу - состояние атомов сбросил.

А вот на сервере так сделать нельзя, т.к. сервер обслуживает множество пользователей и контекст не может быть глобальным на процесс ноды, а должен быть на запрос или на пользователя.

В изоморфном приложении static-переменные использовать нельзя.

Из кода непонятно, как это решено. Все атомы взаимодействуют неявно через static переменные.
Ответить с цитированием
  #15 (permalink)  
Старый 22.01.2015, 23:16
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от ftx09
А как быть с контекстом выполнения
СОСТОЯНИЕМ. ты хотел сказать состоянием
да никак . либо сохранять где-то, либо ... сохранять где-то (localStorage)
сохранение состояния - бич объектно ориентированного программирования. а окромя ООП у нас ничего то и нету...
Ответить с цитированием
  #16 (permalink)  
Старый 26.01.2015, 21:49
Новичок на форуме
Отправить личное сообщение для ftx09 Посмотреть профиль Найти все сообщения от ftx09
 
Регистрация: 22.01.2015
Сообщений: 2

Контекст, как место, где это состояние хранится.
Все дело в том, что атомы не являются чистыми функциями. Внутри они содержат обращения к глобальным переменным. Так устроен механизм их автоподписки друг на друга. В случае сервера так делать нельзя, т.к. состояние будет общее для всех запросов, а разные запросы могут приходить от разных людей.

Вот оригинальный класс атома: https://github.com/nin-jin/pms-jin/b...m/prop/atom.ts
В коде есть куча static методов и переменных.

Я немного изменил атом, таким образом, что контекст можно передавать в конструктор:
https://github.com/zerkalica/frp-ato...er/lib/prop.ts

А вообще, велосипеды это все, для асинхронного управления состоянием есть менее сырые технологии: flux, nuclear-js, immutable.js
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS загружает изображение всегда с локального кэша - почему? buhpro Общие вопросы Javascript 4 02.10.2013 21:01
window.scroll не всегда срабатывает... prohor.zotikov Общие вопросы Javascript 0 11.12.2012 11:37
Не всегда срабатывает onclick Almiur Events/DOM/Window 7 25.11.2011 11:39