有没有办法在scala cookbook actor通信示例中避免使用无类型的ActorRef?

在斯卡拉食谱:13.3.如何在演员之间进行沟通我看到了这一点

class Ping(pong: ActorRef) extends Actor { // OMG - ActorRef - no type,help!
  var count = 0
  def incrementAndPrint { count += 1; println("ping") }
  def receive = {
    case StartMessage =>
      incrementAndPrint

我在我自己的代码中也有一些地方,我有这个ActorRef我不喜欢它,因为我喜欢类型安全.在上面的乒乓球例子中有没有办法避免这种情况?

旁注:据我所知,我可以使用“actorFor”进行命名,但作为DI怪胎,我宁愿在构造函数/参数中传递它.

解决方法

一些东西正在为Akka 3.0工作,例如,请参阅此预告片: https://mobile.twitter.com/RayRoestenburg/status/510511346040197120

现在使用自定义问题(问号)存在类型安全模式.这是一个关于它的博客:
http://www.warski.org/blog/2013/05/typed-ask-for-akka/

虽然这有点笨重但可能不值得麻烦.

另一种方法是创建类型化API并将actor包装在其中.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...