我一直在研究Akka.net bootcamp,根据我读到的关于消息的东西,我遇到了一些令我困惑的事情。
在messaging documentation中,它声明消息应该是不可变的。
在训练营的第2单元中,Initialize Chart消息在两个级别上似乎是可变的。
public class InitializeChart
{
public InitializeChart(Dictionary<string, Series> initialSeries)
{
InitialSeries = initialSeries;
}
public Dictionary<string, Series> InitialSeries { get; private set; }
}首先,可以修改字典内容(添加、删除等)。其次,字典项Series是可变的。
我有两个问题:
1)我对如何构建Akka.net消息的解释有误吗?(这个示例实际上是正确的。)
2) Akka.net消息应该一直保持不变吗?例如,如果此消息更改为:
public class InitializeChart
{
public InitializeChart(Dictionary<string, Series> initialSeries)
{
InitialSeries = new ReadOnlyDictionary<string, Series>(initialSeries);
}
public IReadOnlyDictionary<string, Series> InitialSeries { get; private set; }
}这是否满足Akka.net消息的要求,或者系列元素也应该是不可变的?
发布于 2017-08-12 05:23:07
是的,该消息应该使用IReadOnlyDictionary才能是不可变的。你是对的。element对象本身也应该包含只读属性。
https://stackoverflow.com/questions/45640093
复制相似问题