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

各种网站开发语言的优缺点百度搜索数据查询

各种网站开发语言的优缺点,百度搜索数据查询,个人网页设计ps,合肥网站开发 合肥网站优化策略模式用在统一的入口,但需要根据某个类型判断后续执行逻辑,例如我最近遇到的场景:我需要对接一个设备,前端请求我这边,我再去和设备交互,但设备种类很多,各自有自己的接入规则!传…

策略模式用在统一的入口,但需要根据某个类型判断后续执行逻辑,例如我最近遇到的场景:我需要对接一个设备,前端请求我这边,我再去和设备交互,但设备种类很多,各自有自己的接入规则!传统代码会变成if{}else{}面条代码,而且扩展性不佳,如果后续新增了设备,需要去修改这里的代码,非常不优雅~
闲话少说上代码!

1.创建一个枚举,包含所有策略

public enum StrategyEnums {STRATEGY_ONE("strategyOne", "策略1"),STRATEGY_TWO("strategyTwo", "策略2"),STRATEGY_THREE("strategyThree", "策略3");private String code;private String name;StrategyEnums(String code, String name) {this.code = code;this.name = name;}
}

2.创建一个接口,含执行方法

public interface StrategyService {void run();
}

3.创建3个策略的业务类,实现【StrategyService】接口

public class StrategyServiceImpl1 implements StrategyService{@Overridepublic void run() {System.out.println("运行策略1的业务代码");}
}

4.创建工厂类,用于初始化各策略,提供获取策略的静态方法

public class StrategyFactory {static final Map<StrategyEnums, StrategyService> map = new HashMap<>();static {map.put(StrategyEnums.STRATEGY_ONE, new StrategyServiceImpl1());map.put(StrategyEnums.STRATEGY_TWO, new StrategyServiceImpl2());map.put(StrategyEnums.STRATEGY_THREE, new StrategyServiceImpl3());}public static StrategyService getStrategy(StrategyEnums strategyEnums) {return map.get(strategyEnums);}
}

5.创建控制器,对前端提供接口【可选】

@RestController("design")
public class DesignController {@GetMapping("strategy")public void strategyTest(StrategyEnums strategyEnums) {StrategyService strategy = StrategyFactory.getStrategy(strategyEnums);strategy.run();}
}

6.创建测试类,调用接口【可选】

@SpringBootTest
public class DesignTest {@AutowiredDesignController designController;/*** 策略模式测试*/@Testpublic void strategyTest() {designController.strategyTest(StrategyEnums.STRATEGY_ONE);designController.strategyTest(StrategyEnums.STRATEGY_TWO);designController.strategyTest(StrategyEnums.STRATEGY_THREE);}
}

为了方便演示,我是从测试方法里调用的接口,实际上可以用postman走接口执行,或在测试类里使用工厂直接调用。下面查看执行结果:
在这里插入图片描述
假设后续新增一个需要对接的设备,我只需要在枚举增加一个类型,在工厂里初始化,然后创建一个新的策略,完成业务代码即可,优雅!实在是优雅~
在这里插入图片描述

http://www.dtcms.com/wzjs/423945.html

相关文章:

  • 哪个网站的课件做的好自媒体账号申请
  • 网站验证码是如何做的色盲测试图
  • 电子商务网站建站长沙seo网站优化
  • 做网站分流b站新人视频怎么推广
  • 湘潭网站设计公司新网站怎么快速收录
  • 如何做房地产网站在线推广企业网站的方法有哪些
  • 一起做网站吧企业网站关键词优化
  • 对网站建设的讲话福州百度网站快速优化
  • 2019个人建设网站个人介绍网页制作
  • 做网站主机要求求网址
  • 自定义页面wordpressseo专员是干什么的
  • 网站建设税点重庆seo怎么样
  • 百度西安分公司地址优化网站排名软件
  • 电商购物网站建设关键词怎么优化到百度首页
  • 日本域名 wordpress主机 价格重庆seo外包平台
  • 哪方面网站最新国内你新闻
  • 深圳福田网站建设公司哪家好百度有哪些产品
  • 德州哪里有做网站的推广公司有哪些公司
  • 做网站 美国服务器哪里好优化方案
  • 个人做财经类网站百度一下你就知道了百度
  • 大连百度推广怎么做郑州seo网站排名
  • 门户网站与官网的区别网站外链有多重要
  • 徐州网站建设开发小璇seo优化网站
  • 双鸭山网站建设企业百度合伙人答题兼职赚钱
  • 免费建网站代理南宁seo推广
  • 做影视网站违法莫seo专员是什么
  • 建设工程网上质检备案网站电子商务主要学什么
  • 建设常规的网站报价是多少钱清远今日头条新闻
  • 如何让广域网访问利用公网ip和本地服务器建设的网站网站开发费用
  • 产品推广的网站怎么做做营销型网站的公司