首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【设计模式系列】行为型之责任链模式

责任链模式,小编在自己项目迭代过程也参与了维护和设计实现;本篇博文主要针对该设计模型进行总结和实践; 简单举例日常生活或者工作中能够接触的责任链模式场景:采购审批流程,请假流程,软件开发中的异常处理流程,web请求处理流程等各种各样的流程; 本文中主要借助比较常见的场景OA请假流程: 作为底层员工的溪源同学发起一个请假申请; 1.当溪源请假天数小于3天时,只需要得到上级主管批准即可; 2.当溪源请假天数大于3天时,主管批准后还需要提交给经理审批即可; 3.当溪源确实有事需要请假超过7天时(比如,度个蜜月啦,哈哈~)那经理审批通过,肯定要进一步提交给总经理审批。 相信这个场景大家应该可以非常轻松的能够理解; 简单的一个流程图如下图:

04
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    设计模式之笔记

    定义:定义一系列的算法,将算法进行封装、隔离、相互独立、又能相互替换 使用场景:第三方支付方式选择、底层多套API的调用 * 支付实现原理: * 1.定义支付服务接口PayService ,里面有一个payHtml方法,供选择某种支付方式 * 2.定义具体的支付方式实现类,例如:阿里支付、微信支付、银行卡支付..。该类继承PayService接口 * 3.定义枚举 PayContentConstant。code是支付别名,className是具体支付方式实现类的类名 * 4.定义支付上下文PayContent,定义一个变量payServiceHashMap用于存储当前所有的支付方式。当Spring扫描该类的时候, * 后将所有的支付方式注入到当前的Map中。定义一个payHtml方法用于让用户选择那种支付方式,根据支付方式去跳转到某一支付页 * * 策略模式条件: * 某一抽象接口服务(支付接口)、N个具体接口服务(具体支付方式)、枚举或者常量(存储支付方式与对应的支付实现关系)、 * 支付上下文(满足用户选择某种支付方式)

    01

    springmvc的拦截器

    作用: Spring MVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 用户可以自己定义一些拦截器来实现特定的功能。 拦截器和过滤器的区别: 过滤器是 servlet 规范中的一部分,任何 java web 工程都可以使用。 拦截器是 SpringMVC 框架自己的,只有使用了 SpringMVC 框架的工程才能用。 过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源拦截。 拦截器它是只会拦截访问的控制器方法,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦 截的。 它也是 AOP 思想的具体应用。 我们要想自定义拦截器, 要求必须实现:HandlerInterceptor 接口。 编写jsp

    02
    领券