Я одитирую проект, который использует то, что называется Rules Engine. Короче говоря, это способ экстернализации бизнес-логики из кода приложения.Правила Двигатель - за и против
Эта концепция для меня совершенно новая, и я довольно скептически отношусь к ней. После того, как в течение последних нескольких лет люди говорят о Anemic Domain Models, я задаю вопрос о подходе к правилам. Для меня они кажутся отличным способом сгладить модель домена. Например, я говорю, что я делаю java webapp, взаимодействую с механизмом правил. Затем я решил, что хочу иметь приложение для Android, основанное на том же домене. Если я не хочу, чтобы приложение Android взаимодействовало с механизмом правил, мне придется пропустить любую бизнес-логику, которая уже была написана.
Поскольку у меня еще нет опыта с ними, просто любопытство, мне было интересно услышать о плюсах и минусах в использовании механизма правил? Единственный про, о котором я могу думать, заключается в том, что вам не нужно перестраивать все ваше приложение, чтобы изменить какое-то бизнес-правило (но действительно, на сколько приложений действительно много изменений?). Но с помощью механизма правил для решения этой проблемы звуки мне нравятся, например, прикладывать бандаж к ране дробовика.
ОБНОВЛЕНИЕ - после написания этого, сам Бог, Мартин Фаулер, имеет blogged about using a Rules engine.
Вы изучаете другие товары третьих лиц или собираетесь ли вы самостоятельно перепродавать? – 2008-10-31 16:59:01
Это отличная статья от Мартина Фаулера, спасибо! – 2009-09-16 21:07:00
Вы правы - они очень против OO. Они происходят с того времени, когда OO не было распространено (это отчасти объясняет это), но да, они очень хотят работать с объектами записей/ценностей, которые, как вы говорите, «анемичны». Это не обязательно плохо, но это то, что есть. Если вам это не нравится - вам вообще не понравятся правила. – 2010-11-08 00:42:54