Опрос

Что такое, по вашему мнению, «демократия»?













Рекомендации по проектированию узлов

15.01.2010 11:44 Администратор
Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 
Индекс материала
Рекомендации по проектированию узлов
Страница 2
Страница 3

Рассмотрев вопросы создания нестандартных узлов и их внедрения в граф DG, обсудим теперь некоторые общие принципы проектирования узлов собственной разработки. Важнейшие правила проектирования узлов таковы. * Воздерживайтесь от сложных узлов. * Узлы никогда не должны располагать сведениями об окружающей среде или контексте. * Узлы никогда не должны использовать данные, являющиеся для них внешними Простота В процессе проектирования и реализации узлов совсем несложно начать добавлять к ним все новые и новые возможности. В результате узел может неимоверно вырасти за счет тех функций, которые включены в его состав.

Помня о том, что в действительности узлы - это строительные блоки, используемые в более крупных системах, и избегая создания сложных многоцелевых узлов, вы легче добьетесь повторного использования их функциональности. Если один и тот же узел выполняет две несмежные задачи, следует разбить его на два отдельных узла. Это понизит сложность узлов и максимально расширит возможности их вторичного применения. Другое важное соображение заключается в том, что коль скоро узел - это просто класс C++, можно легко допустить ошибку, нагрузив его большим набором функциональных возможностей, чем необходимо на самом деле. В системе Maya узлы DG решают точно поставленные и очень специфичные задачи.

Они принимают входные и выдают выходные данные. Ничем иным узлы заниматься не должны. Помните, что ваш узел - это не обычный класс C++. способный выполнять те или иные действия, а особый фрагмент конкретной системы, графа зависимости Maya. Контекст Узел никогда не должен знать о том, в каком месте DG он находится. Фактически, он не должен знать даже о том, что используется графом DG, Узел должен располагать информацией лишь о своих входных и выходных атрибутах, а также о том, как выдавать их, отвечая на запрос. К сожалению, узел может начать осматриваться вокруг.

Интерфейс C++ API предлагает множество функций, которые позволяют отслеживать соединения, берущие начало в данном узле и заканчивающиеся в другом месте. Эти функции дают возможность проследить как восходящие, так и нисходящие соединения. Таким образом, узел способен определить свое место в более крупной сети DG. Однако подобные действия крайне опасны.



Добавить комментарий


Защитный код
Обновить

Поиск

В закладку

 
 

Авторизация



Погода