不可变的集合

本文关键字:集合 不可变 | 更新日期: 2023-09-27 18:16:37

我使用只读集合来防止用户修改我的缓存数据,但是项目本身当然是可变的。有没有办法防止这种行为?

米歇尔

不可变的集合

要么使缓存项本身不可变,要么传递对象的副本

您可以设置private构造函数-因此只有在项目内部才能创建实例。

还可以使用构造函数来放置只读值....

一种方法是同时拥有每个业务模型对象的不可变和可变版本。我在这里写了一篇文章:http://rickyhelgesson.wordpress.com/2012/07/17/mutable-or-immutable-in-a-parallel-world/