拥有类Container
,Item
和Property
,每当项目中的属性发生变化时,都会通知容器。
容器是项目的所有者,需要信息来根据它们的属性正确管理它们。
我已经想到了2个选项:
- 观察者模式。
- 代理对象。
在我看来,观察者模式似乎对这项任务来说太重了。代理对象可以很好地工作,但是在这种情况下,我会违反 DRY 原则,因为我必须将调用从代理转发到实际对象。
要求是对用户隐藏详细信息。要求不需要调用某些update_item()
函数或类似的函数,即把通知容器的责任交给用户,这可能会导致使用问题。