我知道.NET String类使用这种行为,但我找不到任何实现,我不知道如何命名这种行为。任何想法都会有所帮助。
答案 0 :(得分:3)
字符串类称为Immutable。
极其简化的示例可能如下所示:
public sealed class MyValue
{
public MyValue(int value)
{
this.Value = value;
}
public int Value { get; private set }
public MyValue Add(int value)
{
return new MyValue(this.Value + value);
}
}
此上下文中的对象无法更改。如果需要另一个MyValue对象,并将当前值添加到另一个值,则会得到一个新对象。