我拥有的内容:
实体A
,可以处于少数几个州(约10个)。有很多A
个实体。
我想更改状态Y
或Z
或任何其他州的所有参与者。
变体1
我可以使用具有此状态的实体集合的单例状态对象:
@Service(value="SomeState")
@Scope("singleton")
class SomeState {
List<A> entities = new LinkedList<A>();
//...
}
优势:按州快速搜索
disadvantege:将有数千个实体。将所有这些实体保存在内存中并不是一个好主意。
变体2:
我可以让SomeStatus
无状态并在整个数据库中搜索。像getAllEntitiesByStatus(Status status)
这样的东西。
优点:无需在内存中保存实体
缺点:慢搜索整个数据库
的的问题: 的