从第一篇到现在快两年了,对复杂事件处理的理解不断加深。编写程序是对现实世界某一部分内容的描述和行为的模拟,除此之外我们还要从这个程序中得到些什么,可以使用程序来处理数据得到需要的结果,可以按一定的规则从这个模拟的系统中提取需要的结论。一种是生产系统,一种是分析系统。在使用规则引擎开发的应用中,我推荐使用状态机来描述个体的行为规则,使用规则语言来描述事件处理的规则,对事件进行过滤,判断和推理。完成复杂事件处理的应用系统。
开发这种系统,如果规则较多,需要注意检查规则的功能正确性,以及优先级的正确性。避免规则的冲突,或者不需要的状态环路。另外程序的调试是比较麻烦的,即便有调试工具,也不会像调试过程程序那么方便。
抽象的思考会使我们辨清技术的本质原理,而不是浮于技术的表面和工具的使用,这样才能用好用准一种技术,方便我们开发应用来满足实际需求。