使用 Drools 规则引擎实现业务逻辑
2010-04-02 00:00:00 来源:WEB开发网核心提示:要求施加在当今软件产品上的大多数复杂性是行为和功能方面的,从而导致组件实现具有复杂的业务逻辑,使用 Drools 规则引擎实现业务逻辑,实现 J2EE 或 J2SE 应用程序中业务逻辑最常见的方法是编写 Java 代码来实现需求文档的规则和逻辑,在大多数情况下,即客户一开始没有提到要将业务逻辑考虑在内处理客户已更改的业
要求施加在当今软件产品上的大多数复杂性是行为和功能方面的,从而导致组件实现具有复杂的业务逻辑。实现 J2EE 或 J2SE 应用程序中业务逻辑最常见的方法是编写 Java 代码来实现需求文档的规则和逻辑。在大多数情况下,该代码的错综复杂性使得维护和更新应用程序的业务逻辑成为一项令人畏惧的任务,甚至对于经验丰富的开发人员来说也是如此。任何更改,不管多么简单,仍然会产生重编译和重部署成本。
规则引擎试图解决(或者至少降低)应用程序业务逻辑的开发和维护中固有的问题和困难。可以将规则引擎看作实现复杂业务逻辑的框架。大多数规则引擎允许您使用声明性编程来表达对于某些给定信息或知识有效的结果。您可以专注于已知为真的事实及其结果,也就是应用程序的业务逻辑。
有多个规则引擎可供使用,其中包括商业和开放源码选择。商业规则引擎通常允许使用专用的类似英语的语言来表达规则。其他规则引擎允许使用脚本语言(比如 Groovy 或 Python)编写规则。这篇更新的文章为您介绍 Drools 引擎,并使用示例程序帮助您理解如何使用 Drools 作为 Java 应用程序中业务逻辑层的一部分。
更多事情在变化……
俗话说得好,“惟一不变的是变化。”软件应用程序的业务逻辑正是如此。出于以下原因,实现应用程序业务逻辑的组件可能必须更改:
在开发期间或部署后修复代码缺陷
应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内
处理客户已更改的业务目标
符合组织对敏捷或迭代开发过程的使用
如果存在这些可能性,则迫切需要一个无需太多复杂性就能处理业务逻辑更改的应用程序,尤其是当更改复杂 if-else 逻辑的开发人员并不是以前编写代码的开发人员时。
更多精彩
赞助商链接