6

条件を表現および操作するためのクラスが何度か必要になりました(通常はUIで、ユーザーがさまざまな条件タイプを組み合わせてクエリを作成すると、コードは、クエリ対象の基になるシステムに応じて、たとえばluceneやdb)。再利用可能なクラスのセットをあちこち検索しました。これは多くの既存の場所(初心者向けのすべての表現言語)で使用する必要があると確信していますが、簡単に使用できるものは見つかりませんでした。私は自分で両方の時間をコーディングすることになりましたが、確かに存在するものを再利用しないことに不満を感じました。

一般的なニーズは次のとおりです。-いくつかの演算子:およびまたはなど-可変数のオペランド-式を作成するための条件の組み合わせ-式のシリアル化-文字列との間の式の解析/フォーマット

誰かがそのようなものを見つけましたか?

4

4 に答える 4

1

ファンクター(別名関数オブジェクト)を探しているように聞こえます。もしそうなら、このSOの質問は関連性があります。選択肢:コモンズファンクター(すでに説明)は1つの選択肢ですが、他にもあります。

すべてのファンクターライブラリには、フレームワーク(非常に単純です。単項、バイナリ述語、それらのマッピング機能、連鎖による結合)と、最も一般的に必要な関数の基本セットが付属しています。

于 2009-05-10T01:41:57.130 に答える
0

ApacheCommonsFunctorを見てください。例:UnaryPredicateUnaryAndUnaryOrなど。組み込みの実装はシリアル化可能ですが、文字列からの解析についてはわかりません。それでも、それはあなたが望むものに向けて非常に良いスタートだと思います。また、ライブラリに基づいたこのIBMチュートリアルもご覧ください。

于 2009-05-10T01:30:37.343 に答える
0

これは、 Hibernate Criteria APIのようなものを探しているようです。欠点は、データベースに縛られているか、さらに悪いことに、特定の永続化フレームワークの実装に縛られていることです。また、すべての要件をカバーしているわけではないので、これは良い選択ではないと思います...

于 2009-05-07T12:16:58.497 に答える
0

ANTLRをチェックしてみてください。

于 2009-05-08T21:24:24.780 に答える