![]() |
|
||||||||||
|
|||||
|
У меня вопрос по архитектуре модели и принципу поимки факта изменения данных внутри её.
Допустим, есть у нас модель. В ней какие-то приватные свойства, доступ к которым сделан через сеттеры/геттеры. В этом случае, отловить изменения легко - оно происходит в сеттере и мы диспатчим событие изменения. А что если свойство в модели не просто переменная, а например, другой объект. Как в этом случае модель может узнать, произошло чтение данных или их перезапись в этом объекте? Очевидно, модель должна слушать этот объект на событие изменения, который тот должен будет послать ей. А после этого, уже послать своё событие об изменений состояния. Итого, если мы меняем в модели данный на уровень глубже, то-есть например: model.auto.bmw = 0; То произойдет диспетчеризация сразу 2 событий, сначала объект auto уведомит модель об изменений свойства bmw, а затем уже модель пошлет событие изменения состояния. Меня это немного смущает, а что если иерархия вложенности будет ещё больше? Может быть есть другой способ, узнать в модели произошло чтение или запись в дочерних объектах?
__________________
Дети не должны знать о своих родителях |
![]() |
Часовой пояс GMT +4, время: 23:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|