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

Всем привет. Подскажите для чего в ангуляре используются state-manager ?

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

12 ответов

23 просмотра

Правильно, не нужны)

Если в команде нет человека, который способен спроектировать собственный стэйт менеджер на сервисах, то нормальная тема имхо

Andrey-Systerov Автор вопроса
Ivan Klimenko
Если в команде нет человека, который способен спро...

Вопрос скорее всего дня сего вообще нужны стейт менеджеры в ангуляре . Я не совсем понимаю.

А в чем ключевое отличие ангуляра от реакта, из-за которого ангуляру не нужны стейт-менеджеры?

Andrey Systerov
Вопрос скорее всего дня сего вообще нужны стейт ме...

Ну по большей части, чтобы использовать готовые решения, а не пилить свои велосипеды )

Andrey-Systerov Автор вопроса
Maxim Afanasev
А в чем ключевое отличие ангуляра от реакта, из-за...

Ну наверно имелось в виду наличие сервисов

Andrey Systerov
Не задумывался если честно =(

Ну, вы же говорите - в реакте понятно зачем, а в ангуляре - не понятно. Значит, есть разница какая-то?

Ivan Klimenko
Ну наверно имелось в виду наличие сервисов

Сервис - это просто синглтон. Нет никакой проблемы использовать синглтон в реакте. Только он никак не решает проблему управления состоянием.

Andrey-Systerov Автор вопроса
Maxim Afanasev
Сервис - это просто синглтон. Нет никакой проблемы...

Видимо я вообще не понимаю что значит управление состоянием..... если разобраться на простом примере CRUD. У меня есть сервисы для получения , изменения и обработки данных. Это будет являться стейт менеджером ? так же можно использовать NgRx и angular-ngrx-data. В принципе тоже самое.

Andrey Systerov
Видимо я вообще не понимаю что значит управление с...

Ангуляровский сервис, который просто дергает http и отдает в ответ стримы - это реализация паттерна Gateway: https://martinfowler.com/eaaCatalog/gateway.html Если ваша бизнес-логика укладывается в этот паттерн и ничего кроме этого вам не нужно, то скорее всего, у вашего приложения нет состояния, которым надо управлять. Тогда, разумеется, не нужен и стейт-менеджер. Но чаще случается так, что состояние размазано по компонентам каким-то образом (способов куча). Тогда разумно будет логику управления состоянием вынести в отдельный слой и реализовать это через сервис, внутри которого будет один или несколько BehaviorSubject'ов и методы, которые эмитят значения в них. Но как только сценарий управления состоянием становится чуть сложнее примитивных случаев, никто кроме автора кода уже не может в этом разобраться (а часто и сам автор не может). Тут вам поможет CQRS и различные его реализации - ngrx, ngxs. Они дают предсказуемость, читабельность и простоту отладки через девтулзы. Т.е. как всегда, инструмент нужно выбирать под задачи.

Andrey-Systerov Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта