この問題を解決するための最善のアプローチについてアドバイスが必要です。
私はDROOLS、JavaRuleEngineなどを調査しました。これらはすべて強力であり、良い点があります。どちらが(もしあれば)私にとって最良の選択になるかわかりません。
1つのビジネスオブジェクトがあります。(デモ用に簡略化)
Person
firstName:String
lastName:String
departMent:String
hireDate:Date
これらのフィールドを中心に複雑なルールを作成できるようにするエディターをWebアプリケーションで作成する必要があります。複雑なネストされたAND/ORロジックをサポートする必要があります。基本的な演算子が必要なだけで、ルールは単純にtrueまたはfalseに評価されます。ルールがtrueまたはfalseと評価された場合、それぞれ1つのアクションが発生します。
例えば、
firstName CONTAINS "value" AND(lastName EQUALS "input" OR department CONTAINS "input")
自分でパーサーを書いて、自分のコードでロジックを評価するだけでいいのではないかと思っていました。どうしたらいいかわからないので、何かアドバイスや読み物へのリンクをいただければ幸いです。調査できる特定のデザインパターンはありますか?
この問題をどのように解決しますか?ルールエンジンに関する1つの懸念は、単純な問題には複雑すぎるのではないかということです。