我有一个代表3D播放器的Model类。
模型由基础的一个或多个组件组成。例如,Component可以表示Torso的形状。 (组件存储在Model对象中的List中)
当我们向模型中添加组件时,我们得到一个树形状的对象结构,因为每个组件都有自己的子组件列表,例如,表示躯干的组件可以有许多子组件,即2个独立的上臂组件, 2个单独的大腿组件和一个颈部组件。然后,颈部组件具有对头部组件的引用。
这实际上创建了Component对象的层次结构。
简介:该应用程序需要能够自由编辑和删除组件。由于它们可以互连以形成层次结构,如上所述,父组件如何知道其任何子组件的更改?
任何人都知道Design Pattern处理这个问题是什么?
答案 0 :(得分:1)
您可以使用简单的observer pattern,其中父组件正在观察他们的孩子。
如果您的编程语言支持事件通知,则可以从Child中公开一个事件,该事件在对其进行更改时引发。将子项添加到Parent时,Parent会订阅相关事件,并在发生更改时收到通知。当孩子被移除时,父母取消订阅。