我正在学习阿卡,我试图找出如何让参与者互相交谈(让我们称他们A和B).这不是一个请求/响应情景中,A并B在任何时候都彼此发送消息.
目前我有两个兄弟姐妹演员在两个方向上互相传递信息.他们都是直接创建的ActorSystem.我最初通过ActorRef的A进入的构造B.但我不能传递ActorRef的B到的构造A,因为它不存在,即我不能用这个方法循环引用.
我一直在阅读actorFor,这会让我用它的路径查找一个演员.但是,我对这种设置不满意,因为如果路径发生变化,编译器就不会捕获它.
另一种选择,考虑到每一个演员可以访问到它的父,是从传递信息A,并B到父,然后让家长将消息传递回落到A和B.但是这会将父节点与来回传递的消息类型联系起来.
人们使用什么策略让演员彼此了解?我是否因为通过路径查找演员而过于谨慎?
Edm*_*984 11
在我的拙见中,你有三个策略,我从更接近你的问题列出(但对我来说最糟糕的模式,我很抱歉)
策略1:你创建演员A和演员B,将actorRef A传递给演员B的构造函数.你的乒乓子将从演员B开始向演员A发送消息,而演员A可以简单地使用发件人参考进行回复.(或者相反)
策略2:在应用程序中创建一个负责命名的图层:它在创建actor时以及查询时分配名称.这将问题集中在一个点上.
策略3:你想知道演奏乒乓球的两个兄弟演员是不是取代了一个更好的,更模块化的演员等级,基本上每个演员只与他的父母和他的孩子交流,并且不了解他的兄弟姐妹.
| 归档时间: |
|
| 查看次数: |
5420 次 |
| 最近记录: |