主要对象
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进⾏绘制操作时可以从注册的对象中获取各元素节点
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务