169 похожих чатов

Ребята, кто применяет стейт-менеджмент в больших проектах! не хотели бы

в этот субботний вечер обсудить за архитектуру ?

12 ответов

21 просмотр

Это ngrx? Мне тоже это интересно

да че там обсуждать. стейт для глобальных данных, для компонентов хватит и рх-потока. Хотя не, подождите, рх-потока хватит для всего :)

Sergei-Sergeevich Автор вопроса
xxtux Shvets
да че там обсуждать. стейт для глобальных данных, ...

вот отлично! сейчас кейсов подгоню. между тем моя ситуация такова что я вынужденно вписался в эту redux тему поскольку в проекте буквально каждая фича на ней.

Sergei Sergeevich
вот отлично! сейчас кейсов подгоню. между тем моя ...

для локальных данных есть практика просто создавать раздел в глобальном стейте с именем типа user-5345342, а потом вырезать его. т.е. uuid делать типа

Sergei-Sergeevich Автор вопроса
xxtux Shvets
для локальных данных есть практика просто создават...

первый раз такое вижу. у нас архитектура построена примерно следующим образом: проект поделен на фичи, каждая из которых работает с набором сущностей. к примеру фича "таски". и каждая фича имеет свой стэйт, который обрабатывает CRUD операции над сущностями. типа ТаскСтейт у него есть таски, фильтр, что то для пагинации и прочее. и компоненты восновном глупые - дергают события ("установить фильтр", "запросить таски", "создать таск" итд)

Sergei-Sergeevich Автор вопроса
Sergei Sergeevich
первый раз такое вижу. у нас архитектура построена...

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

У нас в rozetka была такая раньше структура bSubject в сервисах, и вроде все работало и покрывало нужды, пока проект не разросся до гигантских масштабов, и в итоге мы получили неуправляемую кашу из сотен сервисов в которых тысячи сабджектов, и это все превратилось в ад, без нормального дебага было сложно понять, что откуда и когда пришло, в какой последовательности, конструкторы умных компонентов стали выглядишь просто огроменными из за DI этих стейт сервисов, а написание тестов стало невыносимо. Переехав на ngrx все проблемы ушли

Sergei-Sergeevich Автор вопроса
Eugene Rusakov
У нас в rozetka была такая раньше структура bSubje...

Благодарю. Используете ли вы локальные стейты или же единый глобольный стейт покрывает все ваши задачи?

Sergei Sergeevich
Благодарю. Используете ли вы локальные стейты или ...

Общий стейт покрывает все кейсы, мы стараемся избегать локальных стейтов по причине того они обычно используются в смарт компонентах, которые взаимодействуют с дами, вот как раз мы выделяем фича-стейт такой для такого смарт компонента в ngrx

Sergei-Sergeevich Автор вопроса
Eugene Rusakov
Общий стейт покрывает все кейсы, мы стараемся избе...

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

Sergei-Sergeevich Автор вопроса
Eugene Rusakov
Общий стейт покрывает все кейсы, мы стараемся избе...

по хорошему в большинстве случаев глобальные состояния мне не нужны - нет необходимости хранить их вечно или шарить всему приложению. но этот ньюанс с путанницей в провайдерах я учту. спасибо.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта