2017-07-27 51 views
-1

我正在做Akka和Scala的第一步。對於這個問題,scala並不重要,也可以是java。發送回答或轉發給其他演員

我的小程序:

  • 收集一些數據(A)
  • 做一些計算(B)
  • 並將結果保存在一個表(C)

我見兩種或更好的三種不同的方法來設計我的演員。 (A)發送消息爲(B)的演員,但那麼我們就可以不同的方式之間進行選擇:

  1. (B)發送答案回(A)
  2. (B)發送給第三演員的持久性(C)
  3. ((B)將數據存儲在自己的DB)

哪一個是最好的做法?我會傾向於第二個。第三個我放在括號內,因爲我不喜歡。我喜歡更小的部分,那種:「做一兩件事,做正確」

感謝您的意見,

邁克

回答

1

當設計與演員的解決方案,你應該問問自己,你將如何解決這個與實際的人。誰會做什麼任務?
工人演員應該只做一項任務。國家行爲者只應關心其狀態。 在你的案例中,問問你自己想要收集哪些數據(以及哪些數據),誰負責計算(是否有不同的計算?),誰在存儲結果以及如何存儲結果?
成功。