web-applications - 我在哪里可以找到 RxJS 应用程序设计/架构资源
问题描述
我学习 RxJS 已经有一段时间了,虽然我有很多 api 文档和它的使用示例,但我正处于开始使用它构建一些应用程序的阶段。
问题是,无论我如何尝试,我似乎都找不到任何在线资源来讨论使用 RxJS 的应用程序的架构和设计决策。
诸如,我应该在通量系统(redux)中使用 RxJS 还是单独使用 RxJS,或者这是一个情境决定?就像我正在制作一个基于回合的小型纸牌游戏一样,我是否应该有一个循环的流循环运行它,或者是否应该有外部代码,即“新游戏”功能,每次都会创建新的流作为起点,等等。
基本上是在实际项目中使用 RxJS 背后的想法、高级架构决策和理念。
有谁知道这类事情的一些体面资源。
为了清楚起见,我不想要 api 文档或解释 RxJS 是什么或它如何工作的文档,这不是我正在寻找的信息。
解决方案
我发现这类信息非常分散,分布在许多博客、平台、播客等中…… Medium也是找到这类信息的好地方。很多时候它是在框架的上下文中讨论的,例如:
- https://blog.angular-university.io/angular-ngrx-store-and-effects-crash-course/
- https://medium.freecodecamp.org/react-redux-architecture-part-1-separation-of-concerns-812da3b08b46
- https://www.robinwieruch.de/react-rxjs-state-management-tutorial/
我对您尝试做的事情的个人看法是,您有两个选择:
如果您使用的是 React/Angular 等框架,请使用状态管理库,例如。Redux,NgRx。
使用行为主题实施您自己的状态管理解决方案。此处解释了如何使用 Angular 和 RxJS 执行此操作。如果你使用 React 或 Vanilla JS 而不是 Angular,你可以构建类似的东西。
诸如,我应该在通量系统(redux)中使用 RxJS 还是单独使用 RxJS,或者这是一个情境决定?
这是一个情境决定——对于较大的应用程序,我会使用状态管理库,因为它可以更好地扩展并允许通过Redux DevTools进行更轻松的调试。
对于较小的应用程序,您可以只使用上面提到的 Behavior Subject 解决方案,它的优点是是一个更简单的解决方案,涉及更少的代码和更少的精神开销。
另外,如果我正在制作一个基于回合的小型纸牌游戏,我应该有一个循环的流循环运行它,还是应该有外部代码,即“新游戏”功能,每次都会创建新的流作为起点,等等。
在我看来,应用程序的整个状态应该通过您选择的任何状态管理解决方案来处理。例如。使用 redux,您的“新游戏”功能会再触发 1 个动作来重置游戏状态。
推荐阅读
- javascript - 在对遍历它的数组的位置进行改组后,它变得慢了很多,这是为什么呢?
- javascript - 使用 Keycloak 和 ReactJS 按需登录
- mysql - 如何优化设置 MYSQL 表模式的多项选择?
- javascript - 如何仅在嵌套对象具有值时才对其进行解构?
- django - 静态文件不更新 - Django
- visual-studio-code - 在 vscode 我隐藏通知(右下角),但我想重新显示它。我该怎么办?
- html - 溢出:隐藏不会在 iOS Safari 上创建新的块格式化上下文
- mysql - 如何解决 SQL 单反
- odoo - 销售/用户联系人:只有自己的文档组,但似乎管理员组也受到影响
- python - socket.gaierror: [Errno 8] nodename or servname provided, or not known : Dash App