У нас есть проблемы в приложении, использующем конечный автомат. Приложение реализовано в виде службы Windows и основано на итерациях (оно «пропускает» себя через все), и существует множество экземпляров, обрабатываемых конечным автоматом.
Когда я читаю MEAP-версию книги Джона Скитса "C # in Depth, 2nd ed", мне интересно, могу ли я изменить все это, чтобы использовать экземпляры выражений linq, чтобы элементы охраны и условия представлялись с помощью деревьев выражений ,
Мы создаем много приложений на этом механизме конечных автоматов и, вероятно, получили бы большую выгоду от нового визуализатора дерева выражений в VS 2010
Теперь простой пример.
Если у меня есть дерево выражений, в котором есть условие выражения OR с двумя подчиненными узлами, есть ли способ реализовать шаблон наблюдателя, чтобы дерево выражений стало управляемым событиями?
Если условие изменяется, оно должно уведомить свой родительский узел (узел OR). Поскольку узел OR затем изменяется с «false» на «true», он должен уведомить об этом своего родителя и т. Д.
Мне нравится декларативная модель деревьев выражений, но модель отложенного выполнения работает в противоположном направлении от потока управления, если вам нужны "живые" условия, основанные на событиях.
Я здесь в погоне за диким гусем? Или в BCL есть какая-то концепция, которая может помочь мне достичь этого?