当前位置: 首页 > news >正文

北京网站建设技术托管网页微信版本

北京网站建设技术托管,网页微信版本,网站推广渠道咨询,360站长平台链接提交目录 通过IOC实现策略模式 通过AOP实现拦截 通过Event异步解耦 通过Spring管理事务 通过IOC实现策略模式 很多时候,我们需要对不同的场景进行不同的业务逻辑处理举个例子,譬如不同的场景需要不同支付方式,普通的逻辑是使用if-else&#x…

目录

通过IOC实现策略模式

通过AOP实现拦截

通过Event异步解耦

通过Spring管理事务


  • 通过IOC实现策略模式

  • 很多时候,我们需要对不同的场景进行不同的业务逻辑处理
  • 举个例子,譬如不同的场景需要不同支付方式,普通的逻辑是使用if-else,如下所示:

  • 如果sence越来越多,这种if-else显然非常不合适,这就需要我们借助Spring来完成策略模式

  • 这样调用方只需要调用Payfactory#get即可,不需要感知内部的实现细节和逻辑
  • 需要说明的是,这里使用了InitializingBean只是实现方式之一,还有其他的实现方式,如通过Autowired注解,BeanPostProcess等,这里不做过多赘述
  • 通过AOP实现拦截

  • 很多时候,我们一般是通过注解和AOP相结合
  • 大概的实现思路就是先定义一个注解,然后通过AOP去发现使用过该注解的类,对该类的方法进行代理处理,增加额外的逻辑,譬如参数校验,缓存,日志打印等等,如下代码所示:
  • 参数校验

  • 缓存逻辑

  • 日志打印

  • 通过Event异步解耦

  • 很多时候,可能一个单据状态的改变,要触发很多下游的行为
  • 举个例子:订单从确认订单变为支付成功,就要触发物流的发货,财务的记账,edm触达等等
  • 但是如果订单状态改变同步触发下游的动作,这样对订单业务非常不友好,下游的每次变动都需要上游感知
  • 所以,对于这种情况,我们就需要Event异步解耦
  • 具体说就是订单状态改变后,可以发出来一个Event事件,下游只感知这个Event事件,如果监听到这个事件,就去做自己对应的业务处理;如下代码所示:

  • 需要注意的是,SpringEvent有同步模式和异步模式,这里可以根据具体的业务进行配置
  • 通过Spring管理事务

  • Spring的事务抽象了下游不同DataSource的实现(如,JDBC,Mybatis,Hibernate等),让我们不用再关心下游的事务提供方究竟是谁,直接启动事务即可
  • 如下代码所示:

  • 但是,我们在使用事务的时候,一定要注意,不能在事务中处理分布式缓存,RPC等操作,这样做有两个坏处,一个是RPC的RT很长,有可能引起长事务的问题,另一方面是如果事务执行失败进行回滚,RPC操作的调用是无法回滚的,当然对于声明式的事务也不能滥用,它有可能会导致一些问题
http://www.yayakq.cn/news/39834/

相关文章:

  • 众v创业营网站建设哪些网站是动态的
  • 中英文免费网站建设营销型网站网站
  • 成都市网站建设公司网站集约化建设力度
  • 营销网站设计方案山东省城乡与建设厅网站
  • 台州网站建设推广转塘有做网站的吗
  • 中国建设银行官网站招聘频道上海大型网站制作公
  • 做网站广告经营者沈阳关键字优化
  • 网站规划要点深圳网站设计公司费用多少
  • 武昌做网站多少钱网站开发的软件环境
  • 网站建设与维护模拟一wordpress 公司建站
  • 设计类专业大学网站关键词优化排名软件
  • 全中文网站开发dnf免做卡网站
  • 福州网络公司网站房地产家居网络平台
  • 宾馆酒店网站建设方案什么官网比较容易做网站
  • 国外做滑板网站网站建设大概价格
  • 做电影网站资源怎么帮企业做网站赚钱吗
  • 合同 制作 网站上海百度推广官网
  • 做网站servlet做网站i3够用吗
  • 网站标题图片怎么做网站栏目功能
  • php 网站做分享功能网站页面前端基本设计
  • 郑州做网站网络公司微信营销课
  • 网站和网页有什么区别做网站去哪里
  • 网站优化 合同宝山专业做网站
  • 哪个网站可以做印章图案自己注册了个域名想做一个网站吗
  • 长沙网站建设案例合肥网站建设久飞
  • 南京自适应网站东莞 网站建设多少钱
  • 如何自己做自己的网站如何优化网站速度
  • 网站必须备案wordpress是主机吗
  • 保定网站排名logo设计理念怎么写
  • idea 网站开发一天能免费看3次的app