2.5. 尽可能在一个规则或者一个规则集中完成所有动作
充分利用规则集和规则的初始化动作、起始动作、进入条件、多条件和动作等。尽可能在一个规则或者一个规则集中完成一个任务。不过多的分层次。
最初设计规则集和规则时,每个规则都是由条件和动作组成的。因此一个标准的规则就是
如果 条件1
那么 动作1
组成的,这种是最基本的规则。
但是当规则具有两个条件时,可以将此条件放到规则的条件中,变成
如果 条件1并且条件2
那么 动作1。
这是第二种标准的规则形式。
此时如果两个条件间有多种组合,不同组合间进行不同的动作。比如
如果条件1并且条件2
那么动作1
否则如果条件1或者条件2
那么动作2
这是第三种标准的规则形式。
如果条件中的某些判断时,需要实现处理一下,那么可以将规则设置成支持初始化。比如:
初始化动作1
如果条件1并且条件2
那么动作1
否则如果条件1或者条件2
那么动作2
这是第四种标准的规则形式
如果所有这些条件的判断,都需要满足一个公共条件,只有当满足了此条件之后,才能对此规则进行处理。可以将规则设置成支持进入条件,比如:
进入条件:进入条件1
初始化动作1
如果条件1并且条件2
那么动作1
否则如果条件1或者条件2
那么动作2
这种方式并不属于规则的标准格式。这只是为了能否显示查看方便,而进行的配置。这种方式和添加一个规则集,将规则放到规则集下面的方式是一样的。
规则集:
进入条件:进入条件1
规则1:
初始化动作1
如果条件1并且条件2
那么动作1
否则如果条件1或者条件2
那么动作2
在规则的配置时,尽可能的少加层次,特别是循环中套循环。不便于理解,并且其他用户查看起来也不容易。
2.6. 充分利用决策树的功能。
如果需要调用外部的规则包,尽可能采用决策树的功能,来更加直观的展现逻辑。
目前采用规则来处理时,是按照顺序执行的方式来运行的。因此当配置完规则后,缺省会根据顺序形成一个流程图。如果设置了规则集,则相当于定义了流程的分支。当在规则中定义了调用外部规则包后,相当于调用了子流程。
通过顺序执行的规则集、规则、和调用外部规则包功能,就实现了流程图、流程分支和子流程的功能。
但是为了更加直观的展现流程,特别是需要调用外部规则包时,则使用决策树功能会更加直观。
决策树,采用流程图方式来定义顺序,每个流程的节点可以是某个规则或者是某个外部的规则包。同时多个节点之间可以采用连线方式来定义执行顺序和执行条件。
分享到:
相关推荐
Struts原理、开发及项目实施<br/> Holen 2002-9-12<br/><br/>1、 摘要<br/>2、 关键词<br/>3、 Framework<br/>4、 Struts的起源<br/>5、 Struts工作原理<br/>6、 Struts安装<br/>7、 一个实例<br/>8、 Struts优缺点...
- **标签**: `<h1>`至`<h6>`,分别表示不同级别的标题。 - **示例**: ```html <h1>一级标题</h1> <h2>二级标题</h2> ``` ##### 3. HTML段落 - **标签**: `<p>`,用于定义一个段落。 - **示例**: ```html <p>...
<br><br> FlowChartX控件 很多开发环境下和很多编程语言下测试过,也可用于全世界各地公司用Visual C++, Visual Basic, C#或VB.NET, Visual FoxPro, Borland Delphi, VBA, PowerBuilder, Advantage Gen, Progress 4...
WCF 项目应用连载[5] - 自定义配置 扩展ChannelFactory<T> WCF 项目应用连载[6] - 升级Lig服务 - 设计ILigger 构建一个完善的Lig版本 WCF 项目应用连载[7] - 绑定、服务、行为 大数据传输与限流 - 上 WCF 项目应用...
WCF 项目应用连载[5] - 自定义配置 扩展ChannelFactory<T> WCF 项目应用连载[6] - 升级Lig服务 - 设计ILigger 构建一个完善的Lig版本 WCF 项目应用连载[7] - 绑定、服务、行为 大数据传输与限流 - 上 WCF 项目...
在实际应用中,我们还会学习如何创建标题(`<h1>`到`<h6>`)、段落(`<p>`)、列表(无序`<ul>`和有序`<ol>`,以及列表项`<li>`)、链接(`<a>`)、图像(`<img>`)以及区块(`<div>`)等基本元素。此外,还将讨论...
Java学习资料入门的所有类容连载--01
### FPGA Verilog HDL 设计实例系列连载——有限状态机设计 #### 1. 有限状态机(FSM)概述 有限状态机(Finite State Machine,FSM)是数字系统设计中非常重要的概念之一,它被广泛应用于各种数字系统的控制逻辑中...
5. **模板引擎**:为了方便页面布局和样式,项目可能使用了如Twig或Smarty这样的模板引擎,将视图与控制器逻辑分离。 6. **错误处理和日志记录**:良好的错误处理和日志记录机制对于调试和维护至关重要,PHP的错误...
<portrayal>config/image/Melantha.jpg</portrayal> </resume> 测试代码 测试代码注释在源代码中,在起始注释处删除*即可解除注释。如: /*/测试代码1 这是未在测试的代码块 //测试代码1**/ //测
WCF 项目应用连载[5] - 自定义配置 扩展ChannelFactory<T> - LDuplex<T> ———————————————————————————————— WCF项目应用连载文章源代码 含四个类 LChannelFactory.cs LDuplex.cs...
杰奇PHP小说连载系统是一个基于PHP编程语言的开源软件,专为在线小说网站设计和开发。这个系统提供了全面的功能,包括小说的发布、管理、分类、搜索以及用户互动等,旨在帮助站长快速搭建一个高效、易用的小说阅读...