Rxjs流设计思想

Rxjs流设计思想,rxjs,Rxjs,我不熟悉反应式编程,并试图通过开发Angular+RxJs应用程序来学习。该应用程序的理念是模仿github的功能,如管理回购、管理分支等。。此应用程序将有一个左侧导航,显示与登录用户关联的所有回购,单击回购将显示与回购关联的所有分支,单击分支将显示该分支下的所有文件。用户可以添加/编辑/删除分支,添加/编辑/删除分支中的文件(通常的用例…),基本上是一个延迟加载概念 我的数据模型 Repository -----UserDetails -----Array[BranchArtifact

我不熟悉反应式编程,并试图通过开发Angular+RxJs应用程序来学习。该应用程序的理念是模仿github的功能,如管理回购、管理分支等。。此应用程序将有一个左侧导航,显示与登录用户关联的所有回购,单击回购将显示与回购关联的所有分支,单击分支将显示该分支下的所有文件。用户可以添加/编辑/删除分支,添加/编辑/删除分支中的文件(通常的用例…),基本上是一个延迟加载概念

我的数据模型

Repository  
-----UserDetails  
-----Array[BranchArtifact]  
-------------Array[Files] called currentElements
-------------Array[Files] called changedElements
-------------Array[Files] called conflictElements
想法1: 拥有一个
BehaviorSubject/method1()
,它将返回连接的
可观察的
,可在呈现回购级树导航节点的组件中订阅该组件(此呈现部分仅可用于添加/删除回购等回购级操作)

拥有一个
BehaviorSubject/method2()
,它将返回连接的
Observable
,可以在呈现回购级树导航节点的组件中订阅该组件(此呈现部分仅适用于添加/删除分支等分支级操作)

。。。对于每个延迟加载级别,依此类推

这种想法感觉就像嵌套对象在流级别被展平,但在UI端仍然以嵌套方式间接管理(因为每个嵌套级别都必须绑定回其父节点)

想法2: 让一个
行为subject/Observable
并在每次单击树节点时获取所需的子级别数据,使用返回值更新主题,并让订阅者推断更新的数据(因为流将始终发出存储库对象),并相应地管理UI(可能是发出更改类型以简化订阅者的工作)。这感觉更像是一种命令式编程风格……在这种设计中,UI逻辑必须导航到正确的节点,以便为流中发出的每个值管理它

我已经看过很多关于这个主题的教程、视频和技术讲座,除了基本的数据结构示例之外,我找不到任何东西。非常感谢您的帮助

请各位专家提问:

  • 这些主意有用吗
  • 我是不是在想反应
  • 如果我在这里完全偏离了基准,请指出一些有助于我理解的东西
  • 如果有更简单的建议,请提出

  • 这是一个非常有趣的问题。在我看来,这将是ngrx的一个很好的使用案例,尽管它可能会有太多的开销,特别是如果您正处于rxjs旅程的开始阶段。其主要思想是拥有一个单一的真相来源,智能组件可以从中提取数据并将其传递给哑组件。