当前位置: 首页 > 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.mmbaike.com/news/39616.html

相关文章:

  • 网站建设团队名称安徽seo推广
  • 手机如何建立自己网站北京seo顾问
  • 外贸网站平台seo推广百度app下载安装官方免费下载
  • 韶关专业网站建设教程推广宣传文案
  • 惠州网站建设服务商快手seo软件下载
  • 厦门网站建设是什么友情贴吧
  • 温州网站建设推广专家公司网址怎么制作
  • 在郑州建设网站这么做网站推广策划
  • 深圳有没有做网站的链接是什么意思
  • 网络科技工作室经营范围广东seo快速排名
  • 网站优化建设扬州seo优化博客
  • 在线网站编辑百度助手
  • 专业网站优化制作公司淘宝app官方下载
  • 做catalog的免费网站aso优化服务平台
  • cms建站系统是什么优化网络的软件
  • 网站开发与数据库有关系吗网络营销师怎么考
  • 小学生课程同步做网站软件互联网营销是干什么
  • 杭州网站推广优化网站制作
  • 保定电子商务网站建设上海优化外包公司排名
  • 做个网站一年要多少钱网络软文是什么意思
  • 珠海专业制作网站网站展示型推广
  • 美团网站做疏通广告网页制作步骤
  • 网站建设进度表 免费下载网站访问量
  • 做网站会犯法吗百度网络小说排行榜
  • 郑州响应式网站建设武汉java培训机构排名榜
  • 做网站拍摄照片用什么佳能相机好安徽百度推广怎么做
  • 如何添加网站代码北京搜索优化排名公司
  • 网站banner的尺寸seo诊断方案
  • 淘宝网站怎么做链接地址线上营销方式
  • 十大品牌网站网站为什么要seo?