Итак, допустим, у меня есть пользовательский объект в Java:
public class TestObject {
private int value = 0;
public TestObject(int value) {
this.value = value;
}
public void increaseValue() {
value++;
}
}
Теперь я хочу знать, когда этот объект был изменен.Или, более конкретно, я хочу знать, когда какие-либо из его полей изменились (в этом случае значение).Кроме того, если я расширяю TestObject, я все еще хочу иметь возможность прослушивать любые изменения полей, которые могут произойти с этим объектом, в том числе, если это изменение относится к новым полям, новые поля.
Я провел некоторое исследованиеи обнаружил множество слушателей, которые идут с Java, но все они, похоже, терпят неудачу в той области, где они требуют, чтобы вы вызывали слушателей в конце ваших методов.Например, incrementValue () также должен уведомить всех слушателей TestObject об изменении значения.Очевидно, это не работает для меня, потому что необходимо иметь расширяемость, и я не знаю, что если люди, которые наследуют от этого объекта, будут придерживаться требования, что они должны уведомлять слушателей.Не говоря уже о том, что для каждого метода мутатора кажется трудным запрограммировать, что
Если бы на этот предмет можно было пролить какой-то свет, это было бы очень полезно.