2017-07-27 55 views
-1

我正在做Akka和Scala的第一步。对于这个问题,scala并不重要,也可以是java。发送回答或转发给其他演员

我的小程序:

  • 收集一些数据(A)
  • 做一些计算(B)
  • 并将结果保存在一个表(C)

我见两种或更好的三种不同的方法来设计我的演员。 (A)发送消息为(B)的演员,但那么我们就可以不同的方式之间进行选择:

  1. (B)发送答案回(A)
  2. (B)发送给第三演员的持久性(C)
  3. ((B)将数据存储在自己的DB)

哪一个是最好的做法?我会倾向于第二个。第三个我放在括号内,因为我不喜欢。我喜欢更小的部分,那种:“做一两件事,做正确”

感谢您的意见,

迈克

回答

1

当设计与演员的解决方案,你应该问问自己,你将如何解决这个与实际的人。谁会做什么任务?
工人演员应该只做一项任务。国家行为者只应关心其状态。 在你的案例中,问问你自己想要收集哪些数据(以及哪些数据),谁负责计算(是否有不同的计算?),谁在存储结果以及如何存储结果?
成功。