почему в Akka. net рекомендуется отправлять сообщения в форме класса? - PullRequest
0 голосов
/ 03 августа 2020

я новичок в Akka. net, я читал этот учебник в Akka. net bootcamp , и в нем говорится, что вы можете отправить любой тип на Acotr, что здорово, но также сказано что рекомендуется инкапсулировать сообщение в класс, например:

Актер 1 хочет запросить информацию, которую имеет Актер 2 (скажем, целое число для простоты), из того, что я понял из Актер 2-го учебного лагеря должен ответить следующим образом:

Actor2: ReceiveActor{

    int info =5;
    public Actor2(){

    Recieve<Request>(request => sender.Tell(new Response(this.info)); 

   }

public class Response
{
    int Info {get;}
    public Response(int info){
            
       Info = info;
  }

}

}

почему это хорошая практика?

1 Ответ

1 голос
/ 08 августа 2020

Это потому, что все сообщения должны быть неизменяемыми, этот класс с частным установщиком помогает вам сделать неизменяемым, потому что вы устанавливаете значения всех свойств только при построении. Akka нужны неизменяемые сообщения, чтобы гарантировать такие операции, как маршрутизация или сегментирование.

...