Мне нужно реализовать структуру блок-схемы на С#. Я передам данные первому узлу, он проверит некоторый элемент данных (логический), затем направит данные на один из двух последующих узлов и т. д.
Основной логический поток выглядит следующим образом:
узел 1
- If colour red goto node 2
- иначе перейти к узлу 3
узел 2
- if weight 10 then goto node 4
- иначе перейти к правилу 5
узел 3
- if size big then goto node 6
- иначе перейти к узлу 10
так далее
Я смотрел на шаблон цепочки ответственности, который изначально, казалось, решил мою проблему. Однако в большинстве моих узлов (обработчиков) мне нужно будет иметь 2 последующих узла (истинный путь и ложный путь) для потенциального вызова.
Глядя на реализации паттерна CoR, кажется, что есть понятие NextHandler (Next Node), но не NextHandlerA и NextHandlerB — например.
Итак, если не CoR, какой шаблон лучше подходит для решения этой проблемы. Правила и последовательность могут часто меняться.
Спасибо за ваше время.