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

责任链模式+建造者模式让你业务“香”起来

今天之所以再拿起来讲讲,是因为这里面涉及到的知识点,其实挺多的,可能设计模式都会有一个通病:

那就是如何将业务bean统一交给Spring管理,否则无法引用。接下来给大家举个例子。今天我想搞一个讨论会,大家尝试解决 并在评论区我们讨论下,谁的方案更好。 我也学习下,因为我的方案不是最好的。所以先不粘贴出来。希望大家理解

抛出问题

比如我们一个下单业务(怎么简单怎么来):

第一步:接口参数校验

第二步:创建支付订单

第三步,请求支付服务获取支付信息

最终方案是要用责任链的模式处理这几个业务块,这样达到解藕目的,新的业务请求再进来,只需要加类就行,比如到时候要来个减库存操作。直接加类即可。不影响参数校验模块,创建订单模块,只需要按照相应顺序链式调用即可,一传二,二传三,最终执行完成

好,责任链的东西 就说这么多,本节重点是如何解决bean加载问题。

下面Hanler类是责任链处理类,OrderPayCheckHandler 是参数校验类。OrderPayResultHandler是业务处理完毕类

代码案例:

上面这段代码很好理解,那就是处理这个链式调用的。下面是开始校验模块

模拟调用:

问题点:

OrderPayCheckHandler类中无法引入OrderPayService,报空指针

这就是今天要说的 ,那就是abstract 处理流程中 无法注入bean,大家有没有好的解决方案。在你们的实战中是怎么解决的?欢迎大家评论区交流。我第二天会把我的方案给放出来。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211020A012E200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券