Рассмотрим механизм бизнес-правил. Не всегда уместно, но может помочь отделить бизнес-логику и требования от вашей технической архитектуры / решения. Например, представьте, что у вас есть требование установить классификацию безопасности автомобиля на основе набора результатов испытаний. Испытания, проведенные на автомобиле, могут измениться, как и критерии классификации (включая фактическое количество классификаций, например, от системы 5 звезд до системы 10 звезд). Учитывая этот сценарий, двигатель бизнес-правил может быть хорошим способом классификации автомобиля.
Механизм правил будет снабжен текстовыми или основанными на XML правилами, которые, по крайней мере, теоретически, могут быть написаны и поддерживаться не программирующим персоналом (например, бизнес-аналитиком). Эти правила будут применяться к объекту Car
(предполагается, что объект Car
содержит ссылку на объект TestResults
). Механизм правил / правил будет анализировать результаты теста и соответственно устанавливать свойство SafetyClassification
объекта Car
.
Фактические правила могут находиться в базе данных или в общем расположении или даже быть предоставлены системе через инфраструктуру обмена сообщениями или вызов веб-службы. Новые правила могут быть введены в систему и активированы без перекомпиляции / повторного развертывания системы.
Различные технологии имеют разные доступные движки правил. Например, в .Net есть Drools.Net, механизм правил WWF, + несколько других. В Java есть правила JBoss и множество других.