我使用只读集合来阻止用户更改我的缓存数据,但这些项目本身都是可复制的。 有没有办法防止这种行为?
米歇尔
答案 0 :(得分:6)
使缓存的项目本身不可变,或者通过对象的副本。
答案 1 :(得分:0)
您可以设置私有构造函数 - 因此只有内部项可以创建实例。
此外,您可以使用构造函数来放置readonly Values ....
答案 2 :(得分:0)
一种方法是同时拥有每个业务模型对象的不可变版本和可变版本。我在这里写了一篇文章:http://rickyhelgesson.wordpress.com/2012/07/17/mutable-or-immutable-in-a-parallel-world/