2

能否请您告诉我在 atg 中 ChangeAwareList 和 ChangeAwareMap 的用途是什么?它试图解决什么问题。我尝试阅读文档,但找不到有关相同内容的任何详细信息。

4

1 回答 1

2

ChangeAwareListChangeAwareMap确保在RepositoryItem父项添加或删除关系时,在更新父项时,从数据库中插入/删除新关系。

如果ChangeAwareList并且ChangeAwareMap未使用,那么当父项被更新/存储到存储库/数据库时,您将必须有一些逻辑来遍历每个现有关系并将它们与更新的关系进行比较以确定哪些关系需要要从数据库中删除。这更麻烦,并且性能不如“更改感知”的实现。

这是观察者设计模式的一个例子。

于 2015-07-14T15:09:52.507 回答