web-dev-qa-db-ja.com

論理基準の構築(AND、ORなどを使用)

これについてのインスピレーションを探しています。 Dot.Net Webアプリケーションがあり、かなり複雑な基準を構築しています。それは機能しますが、これを変更し、おそらくこれを最初から変更します。

アイデア:基本的にバックグラウンドプロセスがあり、データを受信して​​います。それを解析するために、基準を設定します。それを「フィルター」と呼ぶことができます。それはおそらくもっと理にかなっています

例:

  1. 解析されたデータに「作成日」フィールドが含まれている場合、つまり平日である場合、何かを行います
  2. 解析されたデータに、これらの文字「ABC」を含む「コード」フィールドがある場合は、別のことを行います
  3. 解析されたデータに「amount」フィールドがあり、その量が1000より大きい場合、何かを行うよりも
  4. 解析されたデータに「色」フィールドがあり、それが「赤、青、緑」のいずれかである場合、何かを実行します。ユーザーをさらに深くさせます。

例:1 AND 2 AND 3 AND 4(上から)がすべてtrueの場合、「実際に特定のことを行う」

さらに進むことができます:((1 AND 2)OR(3 AND 4))の場合、上から、「何か違うことをする」

意味がわかるといいのに

したがって、基本的に2つのステップがあります。A。ユーザーに1、2、3、4を何らかの方法で導入させます。B。ユーザーに複雑化させます。

これはすべて機能します。しかし、完全にユーザーフレンドリーではない方法で。

よく知られている、使いやすい、理解しやすい、同じことをしているものが何かあるのではないかと思っていました。

ドロップダウンリストやチェックボックスなどを多用しているユーザーインターフェースを再構築するためのインスピレーションを得たいです。

助言がありますか?

22
Ash

多分あなたはこれらの1つを通していくつかのインスピレーションを見つけるでしょう:

10
superduperfly

Axure Pro 6.5の条件ビルダー を使用したことがあるかどうかはわかりませんが、シンプルでユーザーフレンドリーな方法で処理しようとしている機能を実装しています。

enter image description here

enter image description here

8
Mervin

条件の任意のセットは、論理積標準形または論理積標準形を使用して表現できます。任意の複雑さの条件文のサポートを停止し、接続標準形または分離標準形のいずれかを選択した場合、UIははるかに単純になる可能性があります。次に、キャンペーンモニターのセグメント作成UIに似たものを使用できます(「セグメント:米国の居住者」を「何か他の2を実行する」で置き換えます)。 Campaign Monitor Segment Creation UI

より複雑な条件を許可する場合は、ユーザーがルールを直接参照できるようにします。

ルール1:AAAおよびBBBの場合
ルール2:ルール1でない場合

複雑な条件を想定している場合、サブ条件の作成を許可することは非常に役立ちます。

3
Brian

各条件の構成を、ルールセットの構成(つまり、条件とアクション)から分離して抽象化すると、状況が簡単になると思います。

プロトタイプは千の言葉を話すので、私はそれがどのように機能するかを想像する ラフjsfiddleアウトライン をまとめました。以下のスクリーンショットもいくつか掲載しています。

条件ビルダーについては何もまとめていませんが、各条件の結果ができるだけ平文であるとうまく機能すると思います。

サブ条件を作成するためのメカニズムも追加していませんが、2つの条件がルールに追加された後、グループを作成するオプションを提供できると思います。次に、ユーザーは条件をグループにドラッグアンドドロップできます。

初期状態:

Initial State

追加された最初の条件:

1 Condition

2番目の条件(およびアクション)追加:

enter image description here

別のルールが追加されました:

enter image description here

1
Alex