专业的JAVA编程教程与资源

网站首页 > java教程 正文

25-规则引擎概述(使用规则引擎的优势)

temp10 2024-10-25 16:57:46 java教程 14 ℃ 0 评论

2.2使用规则引擎的优势。

接下来说一下使用规则引擎的优势。

25-规则引擎概述(使用规则引擎的优势)

·第一条,业务规则与系统代码进行了分离。前面也提到过了,使用规则引擎之后的效果就是把业务规则从业务代码里边单独分离出来了,这样就可以实现业务规则是不是集中来管理。在规则引擎当中集中管理这些规则,这是第一个优势。

·第二条,在不重启服务的情况下可以对业务规则进行扩展和维护。后边随着课程的讲解就能够看到,在不重启服务的情况下这些规则就可以进行变更、动态维护。

·第三条,可以动态修改业务规则,从而快速响应需求的变更。大家可以想象一下,如果没有使用规则引擎,是不是把这些规则if、ls判断的业务规则通过串行代码的方式体现出来?一旦业务规则发生了变化,这个时候是不是就需要来修改代码,并且重启服务之后才能够去生效?这样是不是快速响应就无法达到?

使用规则引擎之后就可以快速的来响应需求的变更,一旦需求有变化,直接动态的来修改一下业务规则,就类似于动态的去修改一下数据库里面的数据,并不用重启服务,这是使用规则引擎的第三个好处。

·第四条,规则引擎是相对独立的,只关心业务规则。这就使得业务分析人员并不是开发者,而是业务分析的主要搞业务的这些人,他们也可以参与去编辑、维护系统里面的业务规则。因为这个其实本质上是跟技术无关的,是纯业务的,就是业务规则。这样业务分析人员也可以参与业务规则的制定、维护、编辑等等。

这就是因为它是相对独立的。再来想象一下,假设没有规则引擎,这样这些业务规则需要通过代码的方式体现出来。这样真正的业务人员其实是不懂技术的,说白了是不会写代码的,这样是没有办法参与这些规则的编辑还有维护工作的。

·第五条,减少了硬编码业务规则的成本和风险。因为不使用规则引擎,在代码里边需要写e、f、x各种判断,这其实是属于硬编码。一旦业务规则发生变化,就需要去修改这些代码,这样成本跟风险是不是都是比较高的?

所以大家可以看到上面提到的这些优势,归根结底还是基于业务规则从系统代码里边分离出来,根本上是因为分离出来了才会产生这么多的优势,这是根本的原因。是因为规则跟代码进行了分离。

·再来看最后一个,规则引擎其实提供了相应的编辑工具,当时在做课程介绍的时候也提到过,有一个叫做沃克奔驰,沃克奔驰是一个图形化的界面,这是专门的编辑工具,可以在沃克奔驰当中进行业务规则的编辑工作。

这样在使用复杂的业务规则的时候,让它变得简单,来操作规则,来制定规则,来动态维护规则等等,在编辑工具里面都可以完成。

这就是使用规则引擎之后能得到的一些好处,或者使用规则引擎的优势就体现在这几个方面。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表