我注意到 Mailbox 类型是封装的,只能通过使用 MailboxProcessor 来使用。
这意味着要拥有一个可以向其发布消息的代理,我必须拥有一个单一类型的邮箱(或以奇特的方式使用现有的 MailboxProcessor)。
我是否应该理解为单个工作流程设置多个邮箱本质上会导致糟糕的设计?Ccr 显然为您提供了这种程度的自由。
编辑:正如丹尼尔指出的那样,如果一个人想发送多种消息类型,DUs 优雅地解决了这个问题——而且我过去也没有这样做过。
但问题是,这样做是不是一种代码味道?随着时间的推移,添加更多类型的发送给代理的消息会不会导致您承担太多责任?我有时认为始终将代理使用的消息类型封装在接口后面很重要,这样这些信息就不会公开。