zoukankan      html  css  js  c++  java
  • bpmn的依赖注入

    主要对象

    new BPMN对象时,流程及对象结构如下图

    依赖注入

    在初始化bpmn对象时有传入additionalModules进行自定义操作,具体是如何实现这种模块化的管理,主要是用到了依赖注入https://github.com/nikku/didi。
    继续查看bpmn实例对象发现有injector对象,该对象即类似java的ICO容器,容器负责实例化、定位、配置对象及建立这些对象间的依赖。对象主要开放get,invoke两个API,bpmn对象的get,invoke即指定injector对象的get ,invoke。

    举个例子

    如果要自定义pallete,代码大致如下


    1.depends 显示声明依赖,在diagram.js中根据该依赖生成new injector需要的模块数组
    2.init new injector创建容器后,并未执行constrnctor等方法,所以diggram.js根据该节点解析模块,执行模块方法
    3.如customPallete构造时,获取到依赖注入的pallete对象,调用该对象的registerProvider注册当前的对象。pallete进行绘制操作时可以从注册的对象中获取各元素节点

  • 相关阅读:
    无缝轮播图
    瀑布流之ajax
    进阶版轮播图
    桌面特效
    3D模型文字动画
    Razor 常用方法
    easyui常用
    C#
    Redis设置记录
    日志三剑客ELK
  • 原文地址:https://www.cnblogs.com/gloxing/p/14963974.html
Copyright © 2011-2022 走看看