c# - Reactive Extensions ... CRUD 应用中的示例

标签 c# crud system.reactive

我刚刚开始掌握 Reactive Extensions,但仍然没有那种“A-Ha”的时刻,即一切似乎都已就位的时刻。因此,我需要一些帮助,并且想知道响应式扩展在简单的 CRUD 程序中可能扮演什么样的角色。

有没有人举例说明 RX 扩展如何帮助他们的 CRUD 应用程序。正如您可以想象的那样,我正在用 C# 编写一个 CRUD 应用程序......任何示例都被接受并发布,以便我可以考虑 RX 如何适合我正在做的编程类型。

也许您可能会列出编程任务如何从 RX 中受益,以及在使用 RX 之前该任务是如何完成的。

最佳答案

我做过这种效果很好的事情:

public interface IStorage : IDisposable
{
    IObservable<int> GetOperationsCount(IScheduler scheduler);

    IObservable<Node> FetchNodes(IObservable<NodeId> nodeIds, IScheduler scheduler);
    IObservable<Node> StoreNodes(IObservable<Node> nodes, IScheduler scheduler);
}

它允许我在后台线程上执行提取和存储,并很容易地在 UI 线程上将值返回给我。

每次调用 StoreNodes 也会设置一个事务,我可以从返回的可观察对象中获取任何错误。

我还使用 GetOperationsCount observable 向用户显示待处理操作的数量等。

我个人使用 Rx 的经验让我想将它用于任何异步的事情——事件、开始/结束调用、异步、任务、线程等。它使一切都适合一个模型,并且可以成为一个重要的代码节省器.

关于c# - Reactive Extensions ... CRUD 应用中的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7512535/

相关文章:

C# Reactive Extensions - 订阅聚合流

c# - 检查驱动器是否存在(字符串路径)

c# - 忽略前导和尾随空格的 View 模型验证

javascript - 未使用模态 Bootstrap 和 codeigniter 插入数据

clojure - clojure/clojurescript 形式中的通用 CRUD 有什么东西吗

c# - 强制任务在当前线程上继续?

.net - "Push"linq 与响应式(Reactive)框架

c# - C# 中的继承 - 简单问题

c# - 'clr-namespace' URI 指的是未包含在程序集中的命名空间

java - 在 Java 中处理 CRUD 操作等重复任务的最佳方法是什么?