后端思维篇:如何应用设计模式优化代码

b1faf4a669b9c304d3f0c829288f0b8b.png

若有收获,请记得分享和转发哦

前言

日常工作中,我们用得最多的设计模式,就是策略模式、工厂模式和模板方法模式啦。最近刚好用这几种模式优化了代码,所以今天跟大家聊聊,我是怎么优化的,思路是怎么样的。希望本文对大家有帮助哈

  1. 优化前伪代码的流程

  2. 策略模式是如何应用进去的

  3. 工厂设计模式是怎么使用的

  4. 模板方法模式又是怎么应用进去的。

  5. 唠叨几句

1. 优化前伪代码流程

大家先看下,优化前,原有代码的大概逻辑哈。代码如下:

class Parameter{
    int pageSize;
    int pageNo;
    int reqNum;
    //其他参数。
}

//逻辑处理,是否命中客群
boolean isMarketHit(Parameter dto){
    //如果是企业客群类型
    if(dto.type == 'enterprise'){
       
       //开关关闭不请求
       if(isEnterpriseSwitchClose){
          return false;           
       }
       
        //请求只有一条记录的话
        if(dto.reqNum==1){
            //调用大数据的点查接口
            return singleRemoteEOIinvoke(dto); 
            
            //请求超过一条的话
        }else if(dto.reqNum>1){
        
            //调用大数据的批量接口
            return batchRemoteEOIinvoke(dto);    
        }
        
        //如果是市场营销类型
    }else if(dto.type=='market_list'){
    
      //开关关闭不请求
       if(isMarketListSwitchClose){
          return false;           
       }
        //请求只有一条记录的话
        if(dto.reqNum==1){
            //调用营销的点查接口
            return singleRemoteMarketinvoke(dto);  
           
          //请求超过一条的话
        }else if(dto.reqNum>1){
            //调用营销的批量接口
            return batchRemoteMarketinvoke(dto);    
        }
    }
}

这个代码可能存在哪些问题呢

dd5da04ae1938d044ea84da18b899c2d.png

53c770c0adb70ca83a09470012ca6a93.png

878a73474b5fa5093a34197ae00caf58.png

158897afbfc6e5386fbc82b6ccbd6f37.png

11e49f0724b35c5e33a2e7f7474aaf62.png

fe53b9b708d35c7283be686ed9f3fa41.png

2d86e560081acd7faf5b0cb4441b8d6e.png

22508199a521531ea73ba7f0455105d1.png

0bb53f17c373ae05513c85b520c7f02c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值