0

我是 Akka.net 的新手,我正在 Akka.net 训练营中阅读本教程,说您可以将任何类型的发送到 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;
  }

}

}

为什么这是一个好习惯?

4

1 回答 1

1

这是因为所有消息都必须是不可变的,具有私有 setter 的类可以帮助您使不可变,因为您仅在构造时设置所有属性值。Akka 需要不可变的消息来保证路由或分片等操作。

于 2020-08-07T22:15:46.930 回答