Как правильно использовать актеров акка в скале
Я относительно новичок в представлениях об актерах, и мне было интересно, могу ли я получить некоторую критику в отношении того, что я делаю. Для части проекта мне нужен актер, который сообщает собравшимся актерам время. Актеры-слушатели должны иметь возможность быть добавленными к этому актеру.
В настоящее время у меня есть это:
import akka.actor.Actor;
import akka.actor.ActorRef;
import com.github.nscala_time.time.Imports._;
class TimeManager extends Actor {
var actors:List[ActorRef] = List();
def receive = {
case AdvanceTime() => actors foreach (_ ! DateTime.now)
case AddListener(x) => actors = x :: actors
}
}
Есть ли способ, которым я могу удалить состояние (актеры var) из этого кода, чтобы сделать его более функциональным?