Я проверяю проект, который использует то, что называется Rules Engine . Короче говоря, это способ вывести бизнес-логику из кода приложения.
Эта концепция совершенно новая для меня, и я довольно скептически к ней отношусь. Услышав, что за последние несколько лет люди говорили о моделях анемичных доменов , я подвергаю сомнению подход механизма правил. Мне они кажутся отличным способом ослабить модель предметной области. Например, скажите, что я делаю Java-приложение, взаимодействующее с движком правил. Затем я решаю, что хочу иметь приложение для Android на основе того же домена. Если я не хочу, чтобы приложение Android также взаимодействовало с движком правил, мне придется пропустить любую уже написанную бизнес-логику.
Поскольку у меня пока нет с ними опыта, просто любопытство, мне было интересно услышать о плюсах и минусах использования механизма правил? Единственный профессионал, о котором я могу подумать, это то, что вам не нужно перестраивать все приложение целиком, чтобы просто изменить какое-то бизнес-правило (но на самом деле, сколько приложений действительно имеет столько изменений?) Но использование механизма правил для решения этой проблемы для меня звучит как наложение бинта на рану дробовика.
ОБНОВЛЕНИЕ - с момента написания этого, сам бог, Мартин Фаулер, писал об использовании механизма правил .