Основные правила архитектуры движка - PullRequest
2 голосов
/ 02 сентября 2010

В настоящее время мы разрабатываем проект в .NET, который включает анализ документов XML на основе набора пользовательских правил.Вот пример:

<Person>
   <Name>Bob</Name>
   <Cars>
      <Car Type="SUV" Color="Black"/>
      <Car Type="Sports" Color="Red"/>
   <Cars/>
</Person>

Правила EG: если имя человека = "Боб" и у него 2 машины, то ... если у человека как минимум один внедорожник и хотя бы один спортивный автомобиль, то ...

Мы собираемся создать мастера «построителя правил», который проведет пользователей по процессу создания правила.В дополнение к этому, одно из других осложнений заключается в том, что схема документов XML будет зависеть от потребностей клиентов, поэтому нам необходим быстрый способ адаптации к новым схемам.Кто-нибудь может дать некоторое представление о том, какие базовые технологии могут лучше всего этого достичь?Вот пара моментов, которые мы рассмотрели:

  1. Динамический Linq to XML
  2. Измельчение XML в таблицы SQL и создание динамических операторов SQL
  3. Создание некоторого типа настраиваемого DSL(Iron Python, Boo и т. Д.)

Наибольшую обеспокоенность вызывают способность реализовывать правила на лету, скорость и легкость / гибкость в написании правил.

Идеи?

1 Ответ

2 голосов
/ 02 сентября 2010

Не строить это. Используйте механизм правил прямой цепочки, такой как BRE, который поставляется с BizTalk .

...