• JBPM Descriptor详解


    DescriptorjbpmIOC实现中扮演重要角色,它由相应的Binding类生成,并生成相应对象的职责,可谓职责重大。

           Descriptor主要用于生成那些对象实例?

                  Descriptor主要负责生成流程引擎使用的一些实例,比如TaskService

    HistoryServiceISession等,可以毫不夸张的说,没有Descriptor,流程引擎将没有资源可用;对于jpdl对应的Binding生成的实例后续文章进行详解!

    Descriptor的继承结构如何?

          下面是FloatDescriptor的继承结构:


    Descriptor的实例化过程?          

    一般情况下,我们在配置文件中定义我们需要生成Descriptor的标签(也就是Binding中的Tag字符串);WireParser既负责加载Binding的配置文件,也负责根据根据标签找到相应的Binding实例,并生成相应的descriptor;然后会将其添加到WireDefinition

    需要说明的是WireDefinition中有descriptorNamesdescriptors,前者会以descriptor继承的所有的基类和接口(但是除去已经添加到其中)的类型为Key,这决定了我们最终获取我们需要的对象的方式;后者就是一个承载descriptor的普通的集合;

    Descriptor的结构和作用?

    一般的Descriptor主要由两个成员方法组成constructinitialize,前者一般生成相应的对象实例,后者主要初始化相应的字段等。

    DefaultObservable的主要作用?

    事件监听在面向对象开发中有广泛的应用!当我们需要在construct相应对象前或者后执行自己的一些业务逻辑,我们就可以实现自己的监听器,然后注册到事件源中,当事件发生时将会执行我们的业务逻辑。

          

          通过Descriptor生成对象的全过程中涉及的主要对象?

           EnvironmentImpl->WireContext->WireDefinition->相应Descriptor->生成相应对象

     

     

                                              

  • 相关阅读:
    类加载器
    hibernate笔记
    windows笔记
    maven笔记
    mysql笔记
    jsonp使用
    [ZJU 1010] Area
    [ZJU 1004] Anagrams by Stack
    [ZJU 1003] Crashing Balloon
    [ZJU 1002] Fire Net
  • 原文地址:https://www.cnblogs.com/wufengtinghai/p/wufengtinghai.html
Copyright © 2020-2023  润新知