Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
Опишу суть вопроса. Есть сайт. На этом сайте есть около 10 функциональных страниц. На каждой странице есть динамические изменяемые данные. На сервере есть вебсокет. Я пришел к выводу что нужно на каждой странице подымать вебсокет соединение и получать динамические данные оттуда.

Вопрос вот в чем.

Я создам один js файл который будет отвечать за подключение к сокету. Но штука в том что на каждой странице может быть какой-то свой функционал который касается вебсокетов. Я думал сделать аля модули которые будут расширять тот js который отвечает за соединение. Как правильно реализовать такую структуру? При этом не хочется описывать все сообщения которые может принимать вебсокет в одном файле, а так что бы js который на странице добавлял свои варианты сообщений которые принимаются.

Спасибо.
16 апр 18, 09:44    [21341559]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
Tsyklop,

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

А пока на ум приходит шаблон Декоратор - приём программирования, который позволяет взять существующую функцию и изменить/расширить ее поведение.
16 апр 18, 09:53    [21341573]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25859
И ещё: Redux WebSocket Integration
16 апр 18, 09:53    [21341575]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
skyANA
И ещё: Redux WebSocket Integration


я не использую ни React ни Redux библиотеки
16 апр 18, 10:06    [21341616]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
skyANA,

За декоратора спасибо.
16 апр 18, 10:06    [21341617]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14867
Tsyklop
я не использую ни React ни Redux библиотеки
можно и без них
есть
 con = new WebSocket("ws://" + document.location.host + "/WS_server");


обрабатываем входящее сообщение

con.onmessage = function (response) {
            if (typeof (response.data) === 'string')
            {
                var r = rg.exec(response.data);
                try {
                    if (r[1].includes('.'))
                    {
                        var d = r[1].split('.');
                        window[d[0]][d[1]](r[2]);
                    } else
                    {
                        window[r[1]](r[2]);
                    }
                } catch (er) {
                    console.log('ошибка ' + er.stack);
                    console.log('вызов ' + r[1]);
                    console.trace();
                }
            } else
            {
//                var uInt8Array = new Uint8Array(response.data);
//                var arrayBuffer = response.data;
//                var bytes = new Uint8Array(arrayBuffer);
//                console.log(bytes);
//               
            }

для этого строка сообщения должно иметь вид команда+разделитель+данные
где команда совпадает с именем функции , которая обрабатывает данные.
если в команде будет точка (xxx.zzz)- то вызовется метод zzz у объекта xxx

такое вставляется на любой странице без всякого изменеия
16 апр 18, 10:20    [21341657]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
вадя,

Спасибо. В моём случае сообщения в виде json строки.
16 апр 18, 10:56    [21341787]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14867
Tsyklop
Спасибо. В моём случае сообщения в виде json строки.
это не проблема.
json строка- это и будут данные.
суть предложения - вызов любой функции для обработки данных именно для этой функции.
16 апр 18, 11:09    [21341823]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
stanilar
Member

Откуда: Спб
Сообщений: 762
Tsyklop
а так что бы js который на странице добавлял свои варианты сообщений которые принимаются.


Странное понимание модульности. Получается что Вы хотите не выделить однотипный функционал в отдельный модуль, а размазать функционал по всему приложению.
16 апр 18, 14:15    [21342460]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
stanilar
Tsyklop
а так что бы js который на странице добавлял свои варианты сообщений которые принимаются.


Странное понимание модульности. Получается что Вы хотите не выделить однотипный функционал в отдельный модуль, а размазать функционал по всему приложению.


почему? есть один основной модуль. На каждой странице будет свой модуль который расширяет базовый.
17 апр 18, 09:59    [21344440]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 14867
Tsyklop
почему? есть один основной модуль. На каждой странице будет свой модуль который расширяет базовый.
такое не нужно
нужен один модуль.
17 апр 18, 10:02    [21344453]     Ответить | Цитировать Сообщить модератору
 Re: Нужен совет по реализации модульности  [new]
Tsyklop
Member

Откуда: Украина
Сообщений: 681
вадя,
к примеру
17 апр 18, 14:31    [21345534]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить