新聞中心
關(guān)于Java規(guī)則引擎Easy Rules的用法,其實(shí)不難理解,下面讓小編帶著大家一起分析分析,希望大家閱讀完這篇文章后大所收獲。
1. Easy Rules 概述
Easy Rules是一個(gè)Java規(guī)則引擎,靈感來(lái)自一篇名為《Should I use a Rules Engine?》的文章
規(guī)則引擎就是提供一種可選的計(jì)算模型。與通常的命令式模型(由帶有條件和循環(huán)的命令依次組成)不同,規(guī)則引擎基于生產(chǎn)規(guī)則系統(tǒng)。這是一組生產(chǎn)規(guī)則,每條規(guī)則都有一個(gè)條件(condition)和一個(gè)動(dòng)作(action)———— 簡(jiǎn)單地說(shuō),可以將其看作是一組if-then語(yǔ)句。
精妙之處在于規(guī)則可以按任何順序編寫,引擎會(huì)決定何時(shí)使用對(duì)順序有意義的任何方式來(lái)計(jì)算它們??紤]它的一個(gè)好方法是系統(tǒng)運(yùn)行所有規(guī)則,選擇條件成立的規(guī)則,然后執(zhí)行相應(yīng)的操作。這樣做的好處是,很多問(wèn)題都很自然地符合這個(gè)模型:
if car.owner.hasCellPhone then premium += 100;
if car.model.theftRating > 4 then premium += 200;
if car.owner.livesInDodgyArea && car.model.theftRating > 2 then premium += 300;
規(guī)則引擎是一種工具,它使得這種計(jì)算模型編程變得更容易。它可能是一個(gè)完整的開發(fā)環(huán)境,或者一個(gè)可以在傳統(tǒng)平臺(tái)上工作的框架。生產(chǎn)規(guī)則計(jì)算模型最適合僅解決一部分計(jì)算問(wèn)題,因此規(guī)則引擎可以更好地嵌入到較大的系統(tǒng)中。
你可以自己構(gòu)建一個(gè)簡(jiǎn)單的規(guī)則引擎。你所需要做的就是創(chuàng)建一組帶有條件和動(dòng)作的對(duì)象,將它們存儲(chǔ)在一個(gè)集合中,然后遍歷它們以評(píng)估條件并執(zhí)行這些動(dòng)作。
Easy Rules它提供Rule抽象以創(chuàng)建具有條件和動(dòng)作的規(guī)則,并提供RuleEngine API,該API通過(guò)一組規(guī)則運(yùn)行以評(píng)估條件并執(zhí)行動(dòng)作。
Easy Rules簡(jiǎn)單易用,只需兩步:
首先,定義規(guī)則,方式有很多種
方式一:注解
@Rule(name = "weather rule", description = "if it rains then take an umbrella") public class WeatherRule { @Condition public boolean itRains(@Fact("rain") boolean rain) { return rain; } @Action public void takeAnUmbrella() { System.out.println("It rains, take an umbrella!"); } }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
名稱欄目:關(guān)于Java規(guī)則引擎EasyRules的用法-創(chuàng)新互聯(lián)
文章出自:http://fisionsoft.com.cn/article/gdseo.html