Опрос
Что такое, по вашему мнению, «демократия»?
Рекомендации по проектированию узлов
| Индекс материала |
|---|
| Рекомендации по проектированию узлов |
| Страница 2 |
| Страница 3 |
Рассмотрев вопросы создания нестандартных узлов и их внедрения в граф DG, обсудим теперь некоторые общие принципы проектирования узлов собственной разработки. Важнейшие правила проектирования узлов таковы. * Воздерживайтесь от сложных узлов. * Узлы никогда не должны располагать сведениями об окружающей среде или контексте. * Узлы никогда не должны использовать данные, являющиеся для них внешними Простота В процессе проектирования и реализации узлов совсем несложно начать добавлять к ним все новые и новые возможности. В результате узел может неимоверно вырасти за счет тех функций, которые включены в его состав.
Помня о том, что в действительности узлы - это строительные блоки, используемые в более крупных системах, и избегая создания сложных многоцелевых узлов, вы легче добьетесь повторного использования их функциональности. Если один и тот же узел выполняет две несмежные задачи, следует разбить его на два отдельных узла. Это понизит сложность узлов и максимально расширит возможности их вторичного применения. Другое важное соображение заключается в том, что коль скоро узел - это просто класс C++, можно легко допустить ошибку, нагрузив его большим набором функциональных возможностей, чем необходимо на самом деле. В системе Maya узлы DG решают точно поставленные и очень специфичные задачи.
Они принимают входные и выдают выходные данные. Ничем иным узлы заниматься не должны. Помните, что ваш узел - это не обычный класс C++. способный выполнять те или иные действия, а особый фрагмент конкретной системы, графа зависимости Maya. Контекст Узел никогда не должен знать о том, в каком месте DG он находится. Фактически, он не должен знать даже о том, что используется графом DG, Узел должен располагать информацией лишь о своих входных и выходных атрибутах, а также о том, как выдавать их, отвечая на запрос. К сожалению, узел может начать осматриваться вокруг.
Интерфейс C++ API предлагает множество функций, которые позволяют отслеживать соединения, берущие начало в данном узле и заканчивающиеся в другом месте. Эти функции дают возможность проследить как восходящие, так и нисходящие соединения. Таким образом, узел способен определить свое место в более крупной сети DG. Однако подобные действия крайне опасны.
Поиск
В закладку
Авторизация
Погода


