gpt4 book ai didi

events - F# 中的松散耦合代理

转载 作者:行者123 更新时间:2023-12-01 14:45:35 30 4
gpt4 key购买 nike

我正在尝试使用 F# 开发多代理应用程序。这是我正在尝试做的事情:

  • 创建几个代理(比如 100 个)。

  • 让这些代理使用事件相互异步通信。

  • 但是,要求是这些代理中的每一个都应该不知道对方。

  • 以上观点的本质是,对于代理(比如 A1,在这种情况下是发布者)发送事件给另一个代理(比如 A2,他是订阅者),代理 A2 需要: 实例化 A1 以接收来自它的通知。 F# 中的事件框架响应式(Reactive)扩展 (Rx) 都遵循这种实例化方法。

  • 我正在寻找的是基于 F# 的事件代理框架/中间件,它允许代理订阅事件而无需实例化发布该事件的代理。即代理不了解系统中的其他代理。他们只知道存在的事件列表,并订阅该列表中的(一个或多个)事件。收到订阅的事件后,代理会调用其方法之一。

  • 我能想到的一个解决方案是事件聚合器模式(例如在 Prism 中)。但是还没有看到此模式的任何 F# 实现。

任何引用/指针将不胜感激。提前致谢。

最佳答案

您可能对使用 Reactive Extensions 的响应式(Reactive)编程感兴趣 框架。它允许您创建和操作事件流。

一个基本的介绍性场景是创建一个 Subject,您的代理可以订阅或发送事件,从而充当生产者或消费者。

我不确定是否有不同事件模式的具体 F# 实现,但框架本身非常强大,在我看来绝对值得研究。

关于events - F# 中的松散耦合代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177107/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com