#java #model-view-controller #listener #composite
Вопрос:
Я пишу программу java в шаблоне MVC, используя firePropertyChange(). Однако модель содержит некоторые составные объекты. Дочерние объекты не имеют ссылок на родительские объекты. Когда свойство дочернего элемента изменяется, можно ли каким-то образом сообщить родителю о том, что firePropertyChanged(). Как обрабатывается firePropertyChanged()/Прослушиватели при наличии вложенных/составных объектов? Пример кода ниже:
public class Parent {
Child child
public Parent(Child child) {
this.child = child;
}
public child setChild() {
...// if different
firePropertyChanged(propertyName, oldValue, newValue);
}
public class Child {
int age
String name
public Child(int age, String name) {
this.age = age;
this.name = name;
}
public void setAge(int age) {
...// if different
firePropertyChange(propertyName, oldValue, newValue);
}