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

基层政府网站建设数据分析师一般一个月多少钱

基层政府网站建设,数据分析师一般一个月多少钱,鞍山玉佛苑官网,外包客服怎么找商家合作1、什么是策略模式 策略模式其实也是在解耦,把策略的定义、创建、使用这三个部分解耦开来,因为本身策略模式也是基于接口编程,这样其实可以简单的理解客户端调用使用接口进行编程,可以通过工厂方法创建对应的策略模式&#xff0c…

1、什么是策略模式

策略模式其实也是在解耦,把策略的定义、创建、使用这三个部分解耦开来,因为本身策略模式也是基于接口编程,这样其实可以简单的理解客户端调用使用接口进行编程,可以通过工厂方法创建对应的策略模式,进而完成对应的程序功能。

2、代码实现

如果我们通过会员类型来判断会员权益的话,通常通过if-else来实现,但是如果会员类型很多的话,就会产生很多的if-else,这会显得不太雅观。所以这个时候策略模式出现了。

普通if-else实现:

public class DemoTest {public Object cal(String type){if (type.equals("L1")){return "L1 10";}else if (type.equals("L2")){return "L2 20";}return "0";}
}

使用策略模式:
主要的思路是创建一个策略接口,以及多个实现该接口的类。同时还要创建一个工厂,内聚所有的策略类。

//策略接口
public interface MemberStrategy {//计算会员权益Object cal();//会员类型值String getSupportType();
}
//策略类1
@Component
public class CommonMemberStrategy implements MemberStrategy{@Overridepublic Object cal() {return "L1 10";}@Overridepublic String getSupportType() {return "L1";}
}//策略类2
@Component
public class UpperMemberStrategy implements MemberStrategy{@Overridepublic Object cal() {return "L2 20";}@Overridepublic String getSupportType() {return "L2";}
}//策略工厂
@Component
@Slf4j
public class MemberStrategyFactory {//注入所有的策略接口类@AutowiredList<MemberStrategy> memberStrategies;public MemberStrategy getStrategyByType(String type){for (MemberStrategy memberStrategy : memberStrategies) {if (type.equals(memberStrategy.getSupportType())){return memberStrategy;}}return null;}}
//接口测试类
@RestController
@RequestMapping
public class StrategyRest {@AutowiredMemberStrategyFactory memberStrategyFactory;@RequestMapping("/strategy")public Object strategy(@RequestParam String type){MemberStrategy memberStrategy = memberStrategyFactory.getStrategyByType(type);return memberStrategy.cal();}
}

测试

如果我们调用接口/strategy,并且参数tyoe="L1"的话,预期返回L1 10。

下面用postman测试下,结果和预期是一样的
在这里插入图片描述

3、总结

1、策略模式提供了对“开闭原则”的完美支持,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。
2、但是策略模式将造成产生很多策略类,增加代码的复杂度

http://www.wangmingla.cn/news/19438.html

相关文章:

  • 公关公司排行榜南宁seo平台标准
  • 微信公众号是在哪个网站做的企业网站页面设计
  • 传奇网站模板怎么做的吗公关负面处理公司
  • 大良商城网站建设五个常用的搜索引擎
  • 做淘宝是不是要两根网站企业seo外包公司
  • vps 同时做ssh和做网站点金推广优化公司
  • 龙华做棋牌网站建设多少钱湖南正规seo优化报价
  • 专业制作简历收费seo网站推广方式
  • 可以免费做宣传的网站推广员网站
  • 全响应网站制作山东关键词快速排名
  • 手机网站列表模板百度一下官网搜索引擎
  • 做推送的网站有哪些网络营销推广方式案例
  • 自学网站阿拉善盟seo
  • 网站建设管理制度广州网页定制多少钱
  • 北京响应式网站建设报价qq群推广链接
  • 徐州模板开发建站正规拉新推广平台有哪些
  • 广东中山建设信息网站东莞营销外包公司
  • 旅游景点网站设计论文经典软文案例标题加内容
  • 网站建好了怎么做才赚钱云南seo公司
  • 球形网架结构厂家青岛网站关键词排名优化
  • 深圳酒店品牌设计公司seo推广关键词公司
  • 广州网络推广平台seo全称是什么意思
  • 房地产销售自我介绍西seo优化排名
  • 个人网站可以做产品宣传吗苏州网站建设书生
  • 网站源码采集seo快速排名软件价格
  • 郑州英语网站建设关键字排名软件官网
  • 自建网站赚钱seo常用工具
  • 郑州网站优化外包顾问seo软件工具箱
  • 阿里巴巴免费做网站吗长沙sem培训
  • e想时代官方网站集客营销软件