依据对象反射信息生成业务规则的一种方法.docVIP

依据对象反射信息生成业务规则的一种方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
依据对象反射信息生成业务规则的一种方法

依据对象反射信息生成业务规则的一种方法   摘要:在许多推理系统中,业务规则与代码紧耦合制约的系统应对业务变更的能力。因此,业务规则需要独立于系统。另一方面,系统在变更升级时,业务规则也要能快速地更改,需要有一定的依赖关系。独立关系与依赖关系构成了矛盾,该研究提出了一种依据对象的反射信息生成业务规则的方法。 中国论文网 /8/view-7222184.htm   关键词:推理;业务规则;反射   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)35-0136-02   Abstract: In many of the reasoning system, business rules and codes are closely coupled with the ability of the system to cope with the business changes. Therefore, business rules need to be independent of the system. On the other hand, when the system changes, the business rules can be quickly changed, the need to have a certain dependence. This paper presents a method for generating business rules based on the object’s reflection information..   Key words: reasoning; business rules; reflection   业务规则是业务在运行过程中的控制策略与方式。业务规则可以使用产生式[1]:IF P THEN Q的方式进行表示。在业务稳定的流程中,这种规则可直接写在代码中。但在实际环境中,业务的变更是频繁的。例如视频企业有:“在活动期所有观众可以任意点播本公司的免费视频”。此时前提P有三方面的限制,即时间=“活动期”、观众=“任意”、视频=“免费视频”,而结论Q则为点播。此时的主体为观众、客体对象及行为分别为视频、点播。然而这种业务规则是经常变化的,活动期不是一成不变的,而且观众类型、视频类型今后也有可能随商业活动的进行而动态调整。因此业务逻辑需要与系统分离。但另一方面,业务规则最终需要被系统所解析,并能用于流程的控制、数据访问等操作。因此业务规则又需要与系统存在一定的应对关系,存在一定的耦合。   这种分离与耦合构成了一对矛盾。本研究使用反射技术来解决这一问题。通过对系统已有对象的反射,得到各种类与其成员的详细信息,然后再根据这些信息生成业务规则。从而使得业务规则与系统存在紧密的应对关系。另一方面,这些业务规则又可以以XML格式存储于外部,便于动态修改。   1 假设前提   首先,应用程序中数据类的设计以ORM[2]思想为指导,类与其属性均与实际的实体一致。这种规范使得系统中类易于被规则的制订者所理解。这种方式也使得能通过反射技术从系统的EXE或DLL文件中读取系统所具有的类型,便于生成业务规则。   其次业务规则的表示以产生式方式表示。其中后件Q具体表示为TargetType.Method。其中TargetType是客体对象,而Method则为客体对象的方法。产生式的前件由简单条件或复合条件组成。简单条件可写为 的三元组。例如User.Age = 18 。即User.Age表示对象,而=为运算符,18为进行比较的值。而复杂条件,则由其他复杂条件、简单条件与Not、And、Or等关系组成而成。   在上述的复杂条件示例,是一个OR形式的条件,该条件又有两子条件,一为And复杂条件,另一个则为简单条件。代表的条件为“主体的年龄在18到30岁之间,或客体的类型为FREE”。   另外,对于简单条件又有一定的约束。简单条件的Object部分需要预留一部分关键字,如分别用Subject、Object代表主体、客体。此外,该关键字还需要能进一步扩展,用于代表其他事实,如系统配置等。对于有多层级的事实,采用“.”分割各层级。如用户类型下有角色Roles这一属性,而角色下又有权限Permissons属性,则可表示为Subject.Roles.Permissions。用RBAC形式表示“拥有管理员权限的用户可以删除视频”,则该规则可表示为:   考虑到实际情况,在生成业务规则时,还需要包含其他的信息,首先是DLL或EXE的版本信息,这些信息将用于验证后续的应用程序版本与业务规则版本是否一致。如果业务规则所需的类型来源于多个DLL或EXE,则这些文

文档评论(0)

langhua2016 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档