ProcessEngine引用服务及其依赖关系

ProcessEngine可以对外提供四个服务:分别是ProcessService、TaskService、IdentityService和ManagementService。

这四个服务最终的执行行为都依赖于CommandExecutor这个命令执行器来完成。

CommandExecutor用来执行Command,Command是一个接口,定义了设置ProcessEngineConfiguration的setProcessEngineConfiguration()方法和执行命令的execute(Command<T> command)的方法。

由此可见,只要改变实现Command接口的类,就可以改变CommandExecutor的行为,也即改变了上述四个服务的行为。


而每次执行的Command是在执行的时候设置进去的(如果将来activiti引入Spring,同样也可以通过配置实现),因此扩展起来非常的灵活。

ProcessEngine对外暴露了4个服务,而ProcessEngineImpl除了实现ProcessEngine对外暴露的四个服务外,还增加了两个服务JobExecutor和PersistenceSessionFactory。在ProcessEngineImpl部分会详细说明。 而ProcessEngineConfiguration包含了18个服务,包括了上面提到的ProcessEngine用到的四个服务,在ProcessEngineConfiguration部分说明。

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...