Опрос
Что такое, по вашему мнению, «демократия»?
Обновление графа зависимости
| Индекс материала |
|---|
| Обновление графа зависимости |
| Страница 2 |
| Страница 3 |
| Страница 4 |
| Страница 5 |
| Страница 6 |
| Страница 7 |
| Страница 8 |
Получив _прочные знания методов использования различных компонентов DG, вы можете перейти к изучению самой важной и насущной темы, а именно: как происходит обновление DG при изменении значений. Эта тема столь важна потому, что, не поняв ее, вы никогда не сможете отследить причины типичных проблем, связанных с обновлением узлов. Зачастую DG может становиться источником неочевидных проблем, когда, с точки зрения разработчика, он обновляется неожиданным образом. Это неправильное понимание может вылиться во многие часы, если не дни, потраченные в попытках выяснить, почему приложение отказывается работать. Основная причина, по которой эта область вызывает так много путаницы, на самом деле достаточно проста. Создаваемые вами узлы совершенно не управляют тем, когда или каким образом они будут обновляться. Полный контроль над этим берет на себя Maya.
Узел - лишь малозаметный персонаж большого романа. В основе своей, узел - это лишь функция compute. От него требуется вычислить некоторые выходные значения при наличии ряда входных. Узел никогда не знает о том, зачем он должен вычислять эти значения, а просто делает это. Поэтому, как разработчик, вы в действительности не управляете тем, когда и как обновляются ваши узлы. Помня об этом, продолжим наше движение к самому ядру DG и выясним, как именно происходит обновление.
Двунаправленная модель Как упоминалось ранее, DG, по крайней мере, на концептуальном уровне, работает в соответствии с моделью потока данных. Кажется, что исходные данные приходят на один конец устройства, а после обработки покидают другой конец. Хотя эта умозрительная модель облегчает понимание возможностей соединения всех узлов и создания автомата, способного перерабатывать данные, фактическая реализация DG более элегантна. На самом деле в основу графа DG положена двунаправленная модель . Эта модель указывает на возможность проталкивания определенной информации по сети. Вместе с тем, информация из сети может и вытягиваться.
Различие между этими операциями состоит в том, что, проталкив;ш данные, вы начинаете с текущего узла и ваши действия распространяются на все узлы, связанные с ним как его выходы. При вытягивании информации из узла действие запроса распространяется на все узлы, которые соединены с ним как его входы. Необходимость различать эти режимы информационных потоков обусловлена стремлением к эффективности.
Поиск
В закладку
Авторизация
Погода


