Интересен вопрос, как бы вы реализовали возможность добавления некого обработчика(метода) при изменении состояния объекта.
Например, имеем класс:
class car {
private Engine engine;
private CarType carType;
...
public void setEngine(Engine engine) {
this.engine = engine;
}
public void setCarType(Engine carType) {
this.carType= carType;
}
}
Хочется иметь возможность выполнять определенный метод(например метод calculateCarCost()), если меняется любой(некоторый) член этого класса.
В неправильном решении это будет выглядеть так:
class car {
private Engine engine;
private CarType carType;
...
public void setEngine(Engine engine) {
this.engine = engine;
calculateCarCost()
}
public void setCarType(Engine carType) {
this.carType= carType;
calculateCarCost()
}
public void calculateCarCost() {
...
}
}
Язык значения не имеет, важна идея.