本文主要是介绍跟风Spring的context继承风格写的一个业务处理器,无聊,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
忽然记起spring的context的N重继承风格,一个抽象类实现一部份功能,想从那重改复写就从哪重开始。脑子一抽,也在业务代码里面玩了下。效果嘛。学得是有模有样,感觉就是越搞越复杂。有点过度设计了,折腾个啥呢。哈哈哈…
Spring效果:
画瓢效果:
产品中一重抽象实现一部分功能。二次开发随便改
顶层抽象类:
public abstract class SuggestionFlowStatusHandler implements BusinessStatusHandler {@Overridepublic boolean supportFlow(String flowId) {return SuggestionFlowContext.SUGGESTION_FLOW_ID.equals(flowId);}@Overridepublic void updateBusinessStatus(FlowContext nodeContext, Node node) {SuggestionFlowContext context = (SuggestionFlowContext) nodeContext;// 更新建议信息updateSuggestionFlowStatus(node, context);// 处理附议人handleSubmitJoinInfo(node, context);// 记录一些流程产生的泛化数据toRecordFlowAboutInfo(node, context);// 其他更新updateOtherBusinessStatus(node, context);// 同步履职档案和学习提升同步数据handlePerformDuties(node, context);// 发送消息sendNoticeMessage(node, context);}protected abstract void updateSuggestionFlowStatus(Node node, SuggestionFlowContext context);protected abstract void handleSubmitJoinInfo(Node node, SuggestionFlowContext context);protected abstract void toRecordFlowAboutInfo(Node node, SuggestionFlowContext nodeContext);protected abstract void handlePerformDuties(Node node, SuggestionFlowContext context);protected abstract void sendNoticeMessage(Node node, SuggestionFlowContext context);protected void updateOtherBusinessStatus(Node node, SuggestionFlowContext context) {}}
支持复写:
@Bean@ConditionalOnMissingBeanpublic BusinessStatusHandler businessStatusHandler() {return new DefaultSuggestionFlowHandler();}
这篇关于跟风Spring的context继承风格写的一个业务处理器,无聊的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!