我想创建一个由三个代理组成的简单“多代理”系统。对于每个代理,都会创建一个封装邮箱处理器的类型。所有代理(位置,id等)和函数(sendMessage,move)以及代理通过邮箱处理器的实现(如何处理邮件)都有不同的属性。另外,它们可能因特定代理商的其他功能而有所不同。每个代理还应包含(作为其属性之一)其他代理的列表,它将向其发送消息。这是一个非常简单的模型,我计划在F#中使用邮箱处理器。F# - 纯粹的功能设计而不是oop设计
在OOP中,这意味着要创建一个代理接口(或抽象类),并且所有特定的代理将从它们自己的实现继承此接口。
我知道OOP是可能的F#,但我宁愿坚持纯功能设计。但是,在我看来,在这种情况下,OOP是最合适的方法。如果你能给我任何关于功能(F#)设计的想法,我会很高兴。谢谢。
我知道F#结合了这两种范例。然而,我的动机是要找出各种范例可以做的各种事情,并且给出的方案很简单,可以从一开始(但是一般而言,也可以用于其他方案)。在这种情况下,我只想使用歧视联盟和记录以及模式匹配。 – user2039784