Здравствуйте, SergeyOsipov, Вы писали:
SO>У меня сейчас и есть разделение — данные и визуализаторы. Точнее даже 4 класса у меня. Класс ноды(чисто данные), класс графа (чисто данные)-работает с классами нод и линами между ними, класс рисователь ноды и класс рисователь графа. Так вот input нода или output — хранится только в классе графа. И это правильно. А класс рисователь ноды не знает про класс графа, он знает только про класс ноды.
Тогда ещё варианты: или завести разные типы узлов для входных / выходных переменных, или добавить в отрисовщик знание о входах / выходах узла.