自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(210)
  • 资源 (2)
  • 收藏
  • 关注

原创 Flowable源码注释(七十四)案例任务活动行为

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedCaseTaskActivityBehavior 案例任务活动行为/** * 案例任务活动行为 * 使用案例服务任务启动CMMN案例 * * @author Tijs Rademakers * @author Joram Barrez */public class CaseTaskActivityBehavior extends Abstract

2022-04-09 20:59:02 1375 1

原创 Flowable源码注释(七十三)服务任务委托表达式活动行为

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated/** * 服务任务委托表达式活动行为 * {@link ActivityBehavior}当“delegateExpression”用于serviceTask时使用 * * @author Joram Barrez * @author Josh Long * @author Slawomir Wojtasiak (Patch for ACT-115

2022-04-08 22:47:17 1183

原创 Flowable源码注释(七十二)子任务、流程任务活动行为

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedChildTaskActivityBehavior 子任务活动行为类/** * 子任务活动行为类 * * @author Tijs Rademakers * @author Joram Barrez */public abstract class ChildTaskActivityBehavior extends CoreCmmnTriggerab

2022-03-30 22:18:34 1605

原创 Flowable源码注释(七十一)人类任务活动行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedHumanTaskActivityBehavior 人类任务活动行为类/** * 人类任务活动行为 * * @author Joram Barrez */public class HumanTaskActivityBehavior extends TaskActivityBehavior implements PlanItemActivityBeha

2022-03-29 20:26:26 487

原创 Flowable源码注释(七十)脚本、业务规则、接收任务活动行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedScriptTaskActivityBehavior 脚本任务活动行为类/** * 脚本任务活动行为类 * * BPMN 2.0脚本任务的实现。 * * @author Joram Barrez * @author Christian Stettler * @author Falko Menge */public class ScriptTa

2022-03-27 19:52:48 1141

原创 Flowable源码注释(六十九)任务、用户任务活动行为

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedTaskActivityBehavior 任务活动行为类/** * 任务活动行为类 * * 所有BPMN 2.0任务类型(如ServiceTask、ScriptTask、UserTask等)的父类。 * * 单独使用时,它的行为就像一个传递活动。 * * @author Joram Barrez */public class TaskAc

2022-03-25 20:29:00 1283

原创 Flowable源码注释(六十八)流节点、抽象BPMN活动行为

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedFlowNodeActivityBehavior 流节点活动行为类是网关、边界、任务等活动行为类继承的抽象类/** * 流节点活动行为类 * * 所有“可连接”BPMN 2.0流程元素的超类:任务、网关和事件。这意味着任何子类都可以是sequenceflow的源或目标。 * 与BPMN 2.0中的“流节点”(flownode)概念相对应。 *

2022-03-23 21:19:48 1087

原创 设计模式-代理模式

一、定义代理模式,为另一个对象提供一个替身或占位符以控制对这个对象的访问。二、代理模式变体远程代理远程代理可以作为另一个JVM上对象的本地代表。调用代理的方法,会被代理利用网络转发到远程执行,并且结果会通过网络返回给代理,再由代理将结果转给客户。虚拟代理虚拟代理作为创建开销大的对象的代表。虚拟代理经常直到我们真正需要一个对象的时候才创建它。当对象在创建前和创建中时,由虚拟代理来扮演对象的替身。对象创建后,代理就会将请求直接委托给对象。保护代理一种根据访问权限决定客户可否访问对象的代理。防火

2022-03-22 15:30:43 158

原创 Flowable源码注释(六十七)边界扩大、定时器、消息、信号事件行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedBoundaryEscalationEventActivityBehavior 边界扩大事件活动行为类/** * 边界扩大事件活动行为类 * * 扩大事件大多数用在连接子流程和父流程,用于触发一个子流程,不能发起流程实例 * 与错误事件不同,扩大事件不是临界事件,在抛出扩大事件的地方会继续执行 * * @author Tijs Rademakers

2022-03-21 16:21:50 557

原创 Flowable源码注释(六十六)边界注册、取消、条件、变量事件活动行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedBoundaryEventRegistryEventActivityBehavior 边界事件注册事件活动行为类/** * 边界事件注册事件活动行为类 * * @author Tijs Rademakers */public class BoundaryEventRegistryEventActivityBehavior extends Bound

2022-03-18 23:25:55 697

原创 设计模式-状态模式

定义状态模式,允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个模式将状态封装成为独立的类,并将动作委托到代表当前状态的对象,行为会随着内部状态而改变。实例以糖果机为例,自动售卖糖果。糖果机工作状态流程:没有25分钱—》投入25分钱—》有25分钱—》转动曲柄—》售出糖果—》发放糖果,如果此时糖果数目等于0,则变成糖果售罄,否则返回没有25分钱状态。其中,在投入25分钱,未转动曲柄前,可退回25分钱。在糖果售罄状态时,不能投25分钱。很明显,这个例子有4个状态:没有25分

2022-03-17 11:40:16 629

原创 Flowable源码注释(六十五)边界取消与补偿事件活动行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedBoundaryCancelEventActivityBehavior 边界取消事件活动行为类/** * 边界取消事件活动行为类 * * 取消边界事件(cancel boundary event),在事务取消时触发。当取消边界事件触发时,首先会中断当前范围的所有活动执行。 * 接下来,启动事务范围内所有有效的的补偿边界事件(compensation b

2022-03-17 09:45:13 896

原创 Flowable源码注释(六十四)边界事件活动行为类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedBoundaryEventActivityBehavior 边界事件活动行为类/** * 边界事件活动行为类 * * @author Joram Barrez */public class BoundaryEventActivityBehavior extends FlowNodeActivityBehavior { private sta

2022-03-16 22:16:58 848

原创 HeadFirst设计模式-组合模式

定义组合模式,允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。实例继续以餐厅和煎饼屋合并的例子为例。前面说到,餐厅菜单用ArrayList实现,煎饼屋菜单用数组,合并后两个都不想改变自己的实现,那么我们通过迭代器模式,统一了这两种实现,完成菜单遍历功能。现在,餐厅需要在菜单上加个小菜单,甜品菜单。它包含在餐厅菜单里,所以无法用迭代器模式完成。那么,试试组合模式。将甜品菜单看做是组件,组合到餐厅菜单中。餐厅菜单和甜品菜单都继承MenuCom

2022-03-16 10:20:26 224

原创 HeadFirst设计模式-迭代器模式

定义迭代器模式,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。实例对象村餐厅和对象村煎饼屋要合并了。这是个好消息,但是煎饼屋使用ArrayList记录菜单项,餐厅使用数组记录菜单项。他们两个都不愿意改变实现,因为有太多的代码依赖于它们了。但至少它们都同意实现MenuItem。public class MenuItem { String name; String description; String vegetarian; double pr

2022-03-14 22:27:23 622

原创 HeadFirst设计模式-模板方法模式

定义模板方法模式,在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。实例以星巴克咖啡师训练手册为例。星巴克咖啡冲泡法:(1)把水煮沸(2)用沸水冲泡咖啡(3)把咖啡倒进杯子(4)加糖和牛奶星巴克茶冲泡法:(1)把水煮沸(2)用沸水浸泡茶叶(3)把茶倒进杯子(4)加柠檬咖啡和茶的冲泡法大致上一样的。如果分开实现咖啡和茶的冲泡方法,则会发现有不少重复代码。既然咖啡和茶是如此地相似,我们应该将共同的部分抽取

2022-03-11 23:18:26 411

原创 Flowable源码注释(六十三)网关活动行为类(下)

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedInclusiveGatewayActivityBehavior 包容网关活动行为类/** * 包容网关活动行为类 * Implementation of the Inclusive Gateway/OR gateway/inclusive data-based gateway as defined in the BPMN specification.

2022-03-10 21:44:35 557

原创 Flowable源码注释(六十二)网关活动行为类(上)

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedExclusiveGatewayActivityBehavior 独占网关活动行为类package org.flowable.engine.impl.bpmn.behavior;import java.util.Iterator;import org.flowable.bpmn.model.ExclusiveGateway;import org.fl

2022-03-09 20:58:29 659

原创 HeadFirst设计模式-外观模式

定义外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。实例以家庭影院为例,准备放松准备开始感受电影的魔幻魅力。可能需要的步骤:开始爆米花将灯光调暗放下屏幕打开投影机切换输入源设置环绕立体声开始播放电影需要不少的步骤才能开始观看电影。但还不只这样。看完电影后,你还要把一切都关掉,要反向地把这一切动作再进行一次。如果要听广播,难道也这么麻烦?如果你决定升级系统,可能还必须重新学习一套稍微不同的操作过程。使用家庭

2022-03-07 10:57:48 373

原创 HeadFirst设计模式-适配器模式

定义适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。适配器是什么,你一定不难理解,因为现实中到处都是。比方说,如果你需要在欧洲国家使用美国制造的笔记本电脑,你可能需要使用一个交流电的适配器。你知道适配器的作用:它位于美式插头和欧式插座的中间,它的工作是将欧式插座转换成美式插座,好让美式插头可以插进这个插座得到电力。或者也可以这么认为:适配器改变了插座的接口,以符合美式笔记本电脑的需求。实例以之前讲过的鸭子为例。public interface Du

2022-03-06 21:47:40 206

原创 Flowable源码注释(六十一)默认活动行为工厂类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedDefaultActivityBehaviorFactory 默认活动行为工厂类/** * 默认活动行为工厂类 * 活动行为工厂{@link ActivityBehaviorFactory}的默认实现。 * 在流程引擎配置类{@link ProcessEngineConfigurationImpl}上没有注入自定义{@link ActivityBehav

2022-03-03 16:58:57 658

原创 HeadFirst设计模式-命令模式

定义命令模式——将请求封装成对象,这可以让你使用不同的请求、队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。实例餐厅点餐以餐厅为例,顾客点餐,服务员记录订单,后移交给后厨制作。服务员是不用具体知道菜品是如何制作的,只需要记录下菜名,移交给后厨。服务员实际上将顾客和后厨解耦了,他们之间通过一个个菜品名,即一个个命令产生联系。不同的菜品可以互相组合,同样命令也可以互相组合。下面列出餐厅对象与命令模式对象的对应关系:餐厅命令模式顾客Client订单Comm

2022-03-03 16:38:26 282

翻译 Flowable源码注释(六十)活动行为工厂类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedActivityBehaviorFactory 活动行为工厂类/** * 活动行为工厂类 * 工厂类用于BPMN解析类{@link BpmnParser},BPMN解析类实例化行为类。例如,在解析独占网关时, * 将请求此工厂创建新的行为类{@link ActivityBehavior},设置在流程当前步骤的元素上,并实现独占网关符合规范的行为。 *

2022-03-01 21:21:51 463

翻译 Flowable源码注释(五十九)抽象行为工厂类

Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedAbstractBehaviorFactory 抽象行为工厂类内部持有表达式管理器,主要负责将FieldExtension类型的集合转化为FieldDeclaration类型的集合package org.flowable.engine.impl.bpmn.parser.factory;import java.util.ArrayList;import

2022-03-01 21:08:53 216

原创 HeadFirst设计模式-工厂模式(7)-总结

定义工厂方法模式——定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。抽象工厂模式——提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。要点所有的工厂都是用来封装对象的创建。简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类解耦。工厂方法使用继承:把对象的创建委托给子类,子类实现工厂方法来创建对象。抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中。所有工厂模式都通

2022-03-01 20:43:15 221

原创 HeadFirst设计模式-工厂模式(6)-工厂方法和抽象工厂的区别

工厂方法和抽象工厂都是工厂模式,它们间有相似的地方,常常被人们搞混。工厂方法模式工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。abstract Product factoryMethod(String type)抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。两者都能把应用程序从特定实现中解耦,都负责创建对象,但是做法不同。两者区别实现方式不同工厂方法使用类,即使用继承的方法。工厂方法创建对象,需要

2022-03-01 20:21:08 177

原创 Flowable源码注释(五十八)事务监听器(下)

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated事务监听器,包路径:org.flowable.common.engine.impl.cfgJobAddedTransactionListener 作业添加事务监听器/** * 作业添加事务监听器 * * @author Tijs Radem

2022-02-27 18:50:07 421

翻译 Flowable源码注释(五十七)事务监听器(上)

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated事务监听器,包路径:org.flowable.common.engine.impl.cfgTransactionListener 事务监听器/** * 事务监听器 * * @author Tom Baeyens */public int

2022-02-26 22:43:33 783

原创 HeadFirst设计模式-工厂模式(5)-抽象工厂

接上文。重做披萨现在已经有了一个抽象比萨,可以开始创建具体披萨子类了。子类间唯一的区别在于使用区域性的原料,至于比萨的做法都一样(面团+酱料+芝士),其他的比萨(蔬菜、蛤蜊等)也是如此。它们都依循着相同的准备步骤,只是使用不同的原料。所以,我们不需要设计两个不同的类来处理不同风味的比萨,让原料工厂处理这个区域差异就可以了。下面是CheesePizza:public class CheesePizza extends Pizza { PizzaIngredientFactory ingredi

2022-02-26 22:13:32 195

翻译 Flowable源码注释(五十六)事务上下文工厂类

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated事务上下文工厂类,包路径:org.activiti.engine.impl.cfgTransactionContextFactory 事务上下文工厂类/** * 事务上下文工厂类 * * @author Tom Baeyens */pu

2022-02-26 22:12:41 278

原创 HeadFirst设计模式-工厂模式(4)-抽象工厂

接上文。确保原料的一致你打算建造一家生产原料的工厂,并将原料运送到各家加盟店。但是加盟店在不同的区域,酱料是不一样的。你需要准备不同的原料。考虑到未来的扩展,你需要各个地区的原料。建造原料工厂现在,我们要建造一个工厂来生产原料。这个工厂将负责创建原料家族中的每一种原料。开始先为工厂定义个接口,这个接口负责创建所有的原料:public interface PizzaIngredientFactory { // 接口中,每个原料都有一个对应的方法创建该原料 // 这里有许多新类,每个

2022-02-26 21:54:31 185

翻译 Flowable源码注释(五十五)MyBatis事务

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedMybatis事务,包路径:org.activiti.engine.impl.cfg.standaloneStandaloneMybatisTransactionContext独立MyBatis事务上下文/** * 独立MyBatis事务上下文

2022-02-25 21:54:04 451

翻译 Flowable源码注释(五十四)Spring事务

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotatedSpring事务,包路径:org.activiti.springTransactionContext 事务上下文接口package org.activiti.engine.impl.cfg;/** * 事务上下文 * * @author

2022-02-25 21:42:10 394

原创 HeadFirst设计模式-工厂模式(3)-工厂方法

接上文。披萨店改造的做法实际是“工厂方法”设计模式,原本由一个对象负责所有具体类的实例化,现在通过对PizzaStore做一些转变,变成由一群子类类负责实例化。工厂方法模式工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。abstract Product factoryMethod(String type)工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中伏案与超类的代码就和子类对象创建代码解耦了。代码里减少对于具

2022-02-25 21:17:55 176

原创 HeadFirst设计模式-工厂模式(2)-工厂方法

接上文。加盟比萨店由于比萨店经营有成,开始有了加盟店。身为加盟公司经营者,你希望确保加盟店营运的质量,所以希望这些店都使用你那些经过时间考验的代码。但是每家加盟店都可能想要提供不同风味的比萨(比如说纽约、芝加哥、加州)。比如一家加盟店希望工厂能知道纽约风味的比萨:博饼、美味的酱料和少量的芝士。另一家加盟店希望工厂能制造芝加哥风味的比萨:厚饼、重味的酱料和大量的芝士。不仅风味不同,还有些自创的流程:烘烤的做法有些差异、不要切片、使用其他厂商的盒子等。下面的做法可让比萨制作活动局限于PizzaStore

2022-02-25 20:36:33 208

翻译 Flowable源码注释(五十三)事件解析处理器(下)

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated事件解析处理器,包路径:org.flowable.engine.impl.bpmn.parser.handlerConditionalEventDefinitionParseHandler 条件事件定义解析器/** * 条件事件定义解析器 *

2022-02-24 20:58:03 376

翻译 Flowable源码注释(五十二)事件解析处理器(上)

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated事件解析处理器,包路径:org.flowable.engine.impl.bpmn.parser.handlerCompensateEventDefinitionParseHandler 补偿事件定义解析处理器/** * 补偿事件定义解析处理器

2022-02-24 20:37:30 246

原创 HeadFirst设计模式-工厂模式(1)-简单工厂

工厂模式解决初始化经常造成耦合的问题,将你从复杂的依赖中脱困。实例化对象时,会使用new,但这是针对实现编程,而不是接口。这样让代码绑着具体类,会导致代码更脆弱,缺乏弹性。在技术上,new没有错,毕竟这是Java的基础部分。真正令人犯难的是“改变”。需要找出会变化的方面,把它们从不变的部分分离出来。比萨店实例假设你有一个比萨店,制作比萨的初始代码:Pizza orderPizza() { Pizza pizza = new Pizza(); pizza.prepare()

2022-02-24 19:50:40 343

原创 HeadFirst设计模式-装饰者模式(下)

接上文。真实世界的装饰者:Java I/Ojava.io包内的类太多了,简直是排山倒海。现在,你已经知道装饰者模式,这些I/O的相关类对你来说应该更有意义了,因为其中许多类都是装饰者。例如:BufferedInputStream及LineNumberInputStream都扩展自FilterInputStream,而FilterInputStream是一个抽象的装饰类。而FileInputStream和FilterInputStream都扩展自InputSteam类,InputSteam也是个装饰

2022-02-24 01:08:25 276

翻译 Flowable源码注释(五十一)网关解析处理器

Flowable源码地址:https://github.com/flowable/flowable-engineFlowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated网关解析处理器,包路径:org.flowable.engine.impl.bpmn.parser.handlerExclusiveGatewayParseHandler 排他网关/** * 排他网关 * * @author Joram Ba

2022-02-22 21:30:00 456

adoc文件的IDEA插件-asciidoctor-intellij-plugin-0.36.13.zip

adoc文件的IDEA插件,2022年新版

2022-01-06

flowable的IDEA插件-flowable-bpmn-plugin-0.4.9.2.zip

flowable的IDEA插件,2021的最新版

2022-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除