freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

drools應(yīng)用手冊(完整版)

2024-12-25 12:42上一頁面

下一頁面
  

【正文】 group 屬性是相同的即可。設(shè)置 noloop為 true 可以阻止該規(guī)則被再次激活。 特性是可選的,最好保持每行一條,如下描述: 規(guī)則的 LHS 部分跟隨 when關(guān)鍵字( when 最好在單獨的一行上), RHS 部分跟隨 then 關(guān)鍵字(最好也單獨一行)。 end 規(guī)則 第 14 頁 共 14 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 規(guī)則指定“ when”作為一系列條件的集合(稱為 LHS),然后在“ then”中指定一系列操作(稱為 RHS)。主要使用函數(shù)的優(yōu)點是可以將邏輯保存在一個地方,并且你可以在需要的時候改變函數(shù)(這樣做各有優(yōu)缺點)。在你的規(guī)則引擎的集成代碼中,你獲得你的 服務(wù)對象,并且將它引入到 working memory。 end 在 working memory 上設(shè)置全局變量的值。 Globals 是全局的變量。 Expander Expander 標記是可選的,用來指定 DSL 配置(通常保存在獨立文件中)。通常情況是將所有同名 Package 下的規(guī)則放在一個文件中(這樣它就是完全自包含的)。例如: // this is a single line ment. this is a single line ment. 多行注釋使用 /* */符號。 下面的保留字是在編寫規(guī)則時應(yīng)當盡力避免使用的 : ? rule ? query ? when 第 9 頁 共 9 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 ? then ? end ? null ? and ? or ? not ? exists ? collect ? accumulate ? from ? forall ? true ? false ? eval 下面的列表是你在編寫規(guī)則時應(yīng)當盡量避免使用的,但是如果你不得不在某些地方使用它們,語法分析器也可以正常工作。 RHS是允許 Java 語義代碼(很快將支持其它語言和 C)執(zhí)行的塊。但是你也可以將規(guī)則分開到多個規(guī)則文件中(在這種情況下建議采用 .rule 擴展名,但不是必需的),分散規(guī)則利于管理巨量規(guī)則的情況。在 RHS中是先輸出了 Message的 message,然后把 message屬性改為 [Goodbye cruel world], 把 status屬性改為 []。每條規(guī)則里面有一個 LHS(Left hand side 即 When語句 )和 RHS(Right hand side即 Then語句 )。 第 6 頁 共 6 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 然后,我們再看看規(guī)則文件里的內(nèi)容: package import 。 Package Builder 同時負責包括打包中用到的所有代碼產(chǎn)生器和編譯器。 從上圖可以看到,整個項目中有兩個文件。讓新增的 Runtime 成為默認的 Runtime 再保存設(shè)置 。事實可以做為 2input 結(jié)點的右側(cè)輸入,也可以做為 1input 結(jié)點的輸入。 RETE 算法可以對匹配階段進行高效實現(xiàn),下面從鑒別網(wǎng)絡(luò)和模式匹配過程兩個方面對該算法進行介紹。 規(guī)則保存在 Production Memory(規(guī)則庫)中,推理機要匹配的 facts(事實)保存在 Working Memory(工作內(nèi)存)中。那么,什么事產(chǎn)生式規(guī)則引擎?什么事 RETE 算法呢?下面為您逐一講解。但這并不是說應(yīng)該拋棄對象模型,相反的來說在任何一個現(xiàn)實應(yīng)用中業(yè)務(wù)邏輯僅僅是應(yīng)用的一部分。 ? 領(lǐng)域?qū)<遥ɑ蛘邩I(yè)務(wù)分析師)是非技術(shù)人員 領(lǐng)域?qū)<彝ǔI(yè)務(wù)規(guī)則和流程具有很好的認知。 目前 (2020 年 8月 ), Drools最新的版本是 ,本文檔是基于 此版本來描述,所有例子都是基于 。 因此,規(guī)則引擎 營運而生。甚至當系統(tǒng)進入生產(chǎn)階段時,客戶的業(yè)務(wù)規(guī)則、商業(yè)邏輯也會改變。某些系統(tǒng)要求甚至更高,要求能 24 小時不停機,并且能夠?qū)崟r修改商業(yè)規(guī)則。 規(guī)則引擎由推理引擎發(fā)展而來,是一種嵌入在應(yīng)用程序中的組件,實現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序代碼中分離出來,并使用預(yù)定義的語義模塊編寫業(yè)務(wù)決策。讀者可到 Drools的官方網(wǎng)站下載 Drools的相應(yīng)版本 ( 何時使用 Drools 對這個問題最簡短的回答就是“當沒有令人滿意的傳統(tǒng)的程序設(shè)計方法能夠解決這個問題時”。他們通常是不了解軟件技術(shù)的人員,但是具有很好的邏輯性。如果你曾注意到在你的代碼中有很多 ”if””else””switch”和其它凌亂的邏輯,你總是要回過頭去修改它們(可能是由于提供給你的邏輯是錯誤的,或是你的理解變化了), 那么可以考慮使用規(guī)則。 產(chǎn)生式規(guī)則引擎工作原理 產(chǎn)生式規(guī)則引擎完全關(guān)注于精確表達 propositional(命題)和 first order logic(一階邏輯)的知識表示,不存在含糊不清的定義。事實被插入到工作內(nèi)存中后,可能被修改或刪除。 鑒別網(wǎng)絡(luò)(如下圖所示): 第 5 頁 共 5 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 由 RETE 算法在進行模式匹配時,是 根據(jù)生成的鑒別網(wǎng)絡(luò)來進行的。每個非根結(jié)點都代表著產(chǎn)生式左部的一個模式,從根結(jié)點到終結(jié)點的路徑表示產(chǎn)生式的左部。 第 2 頁 共 2 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 到此為止, Drools 的 Eclipse 插件 安裝已經(jīng)成功。第 1 個是調(diào)用規(guī)則文件的 Java 文件,里面寫有如何去加載和執(zhí)行規(guī)則文件;第 2 個文件就是規(guī)則文件,里面定義了一些規(guī)則。(請參考下圖理解) Package 對象是自包含并可配置的,它是一個包含規(guī)則的序列化的對象。 rule Hello World when m : Message( status == , myMessage : message ) then ( myMessage )。當一個事實傳進來時,他會先去 LHS匹配,如果匹配成功就執(zhí)行 RHS的代碼;否則,就不執(zhí)行 RHS。實際上,直到現(xiàn)在 Working Memory中的 Message 還沒有被更改,當用戶調(diào)用 update 方法時 ,事實才被修改 ,通知也會通知 Working Memory, Message這個事實已經(jīng)被更新,要求進行新一輪的規(guī)則匹配。 DRL 是簡單的 text 文件格式。僅有的特別的關(guān)鍵字是為了設(shè)置,刪除和修改 facts所用。 ? package ? function ? global ? import ? template ? attributes ? enabled ? salience ? duration ? init ? action ? reverse ? result ? contains ? excludes 第 10 頁 共 10 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 ? memberOf ? matches ? in ? dateeffective ? dateexpires ? noloop ? autofocus ? activationgroup ? agendagroup ? dialect ? ruleflowgroup 當然,你可以將它們用作方法名稱 的一部分,如 notSomething()—— 這完全沒有問題。 /* this is a multiline ment in the left hand side of a rule */ Package 包是規(guī)則以及其它相關(guān)結(jié)構(gòu)的一個 集合,如 import 和 global。 下面的藍圖 顯示一個包中可能包含的所有組件。這為解析器提供了如何理解你自定義的規(guī)則語言。他們常用來將應(yīng)用程序的對象提供給規(guī)則使用,通常是將數(shù)據(jù)或服務(wù)提供給規(guī)則使用(指定使用在規(guī)則推論中的應(yīng)用服務(wù)),從規(guī)則處返回數(shù)據(jù)(如日志或在規(guī)則推論中增加的值)或者從規(guī)則中對應(yīng)用進行回調(diào)。最好是在將 fact 插入 working memory 之前設(shè)置完所有全局變量,如: List list = new ArrayList()。在 DRL文件中,聲明你已經(jīng)有了一個 EmailService 類型的全局 變量 ,并 給它 一個名 稱為 。函數(shù)最大的用處是被規(guī)則的推論( then)部分中的行為所調(diào)用,特別是當一個行為操作需要反復(fù)被調(diào)用時 —— 如發(fā)送郵件。一個用戶經(jīng)常問的問題是“為什么使用 when代替 if”。規(guī)則使用 end 關(guān)鍵字結(jié)尾。 salience 默認值 : 0 類型 : integer 每一個規(guī)則有一個整數(shù)類型的優(yōu)先級屬性,默認為 0,這個整數(shù)可以使正負數(shù)。 第 17 頁 共 17 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 dialect 默認值 : 由 Package 指定 類型 : String 可能值 : java or mvel Dialect 指定在 LHS 代碼表達式或 RHS 代碼塊中使用的語言。如果 LSH是空的,那它被重寫為 eval(true),這意味著規(guī)則一直是 true 狀態(tài),并且將在 working memory 一建立時就被激發(fā)。 Figure . Pattern 在最簡單情況下,沒有約束,它只是簡單的匹配一個類型,下面的例子中這個類型是“ Cheese”。amp。amp。 price 10, age == mature ) // Cheese type is stilton and price 10, and age is mature Cheese( type == stilton || price 10, age == mature ) // Cheese type is stilton or price 10, and age is mature 上面例子有兩個約束組,第一個有兩個約束而第二個組有一個約束。連接符之前被求值。 不能用于表達式綁定 Cheese( ( type == stilton amp。 Drools支持前綴和 中綴符,但是前綴是首選的,因為編組時默認使用前綴的,這樣避免了混淆。引擎實際上并不理解‘ or’條件元素,而 是用許多不同的邏輯轉(zhuǎn)換,規(guī)則被重寫為許多的子規(guī)則;轉(zhuǎn)換后的規(guī)則將單個‘ or’作為根節(jié)點并且每個子規(guī)則有一個邏輯結(jié)果。這兩個規(guī)則獨立工作在 Working Memory中,這意味著都可以進行匹配,激活和激發(fā) —— 那里沒有簡捷的方式。因此最好只是在函數(shù)的返回值隨時發(fā)生變化的情況下使用它。 Example . No Busses not Bus() Example . No red Busses not Bus(color == red) not ( Bus(color == red, number == 42) ) //brackets are optional 第 25 頁 共 25 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 not ( Bus(color == red) and Bus(color == blue)) // not with nested 39。and39。 要聲明在 working memory 中給定類型的所有 fact 必須匹配一組約束, forall 可以簡單的使用單模式。它是一種強大的結(jié)構(gòu),允許在盒子(指 Drools 的運行環(huán)境)的外面與其它應(yīng)用程序組件和框架集成。在那種情況中, from將遍歷集合中所有對象,并嘗試單獨匹配每一個對象。如果對一個系統(tǒng)發(fā)現(xiàn) 3 個以上的警報,規(guī)則將激發(fā)。 rule Send a message to all mothers when 第 30 頁 共 30 頁 機密 – 未經(jīng)允許不得擴散 紅帽軟件中國 $town : Town( name == 39。 ) $mothers : LinkedList() from collect( Person( gender == 39。例如你可以使用默 認的 java集合如
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1