有没有标准化的方式来形式化我的scala/akka演员api?Imho,我需要了解实现以了解要发送的内容并不是一个好的选择.此外,如果实现已更改并且我的消息不再有效(不调用我认为它调用的操作),我不会收到任何警告或错误.
这是一个在社区中非常讨论的问题.我听说Akka 3可能会对类型安全演员有更好的支持,但这是一段时间.
同时您可以使用TypedActors,但一般建议是在应用程序的边界使用它们.
一个很好的方法,不会给你任何类型的安全,但让一个演员的合同更明显,是定义一个演员可以在他们的伴侣对象中收到的消息.这种方式每次您想要向演员发送消息时,您可以从其伴随对象定义的消息中进行选择.如果您为每个演员提供特定消息,这当然最有效.如果更改实现,则可以删除旧消息并添加新消息,以便每个想要使用旧实现的人都会遇到编译器错误.
最后,上周在邮件列表上有一个很好的模式.他创造了特征来定义演员及其消费者的合同,但是你仍然需要注意消费者混合正确的特征.
根据我的经验,确保一切正常的最佳方法是一个广泛的测试套件,它将测试每个演员本身,以及特定演员之间的沟通.
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |