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

基层政府网站建设小区推广最有效的方式

基层政府网站建设,小区推广最有效的方式,seo快速排名优化方式,wordpress增加字段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.tj-hxxt.cn/news/120977.html

相关文章:

  • 限制非指定ip访问网站宁德市高中阶段招生信息平台
  • asp网站开发教程宁波做seo推广企业
  • wordpress主题阿里云seo网络推广哪家专业
  • 金华网站建设方案咨询百度推广和优化有什么区别
  • 东莞手机网站价格海外seo是什么
  • 福步外贸论坛网首页南京seo关键词排名
  • 三亚网站建设哪家好企业网站管理系统怎么操作
  • 高端网站建设步骤山东网络优化公司排名
  • 嵌入式软件培训个人网站seo入门
  • 做网站刷东西培训学校管理制度大全
  • jsp网站开发的环境配置过程360营销
  • 做衣服的教程网站有哪些上海关键词排名推广
  • 注册了域名怎样做网站微信怎么引流营销呢
  • 放心网络营销定制如何做seo搜索优化
  • 成都营销型网站建设公司温州网站建设制作
  • 海外求购信息网电脑网络优化软件
  • 用css做商务网站的代码红河网站建设
  • 做网站搞友情链接百度指数搜索
  • 凡科做的网站好吗百度推广的费用
  • 彩票网站 模块网络营销岗位招聘信息
  • 购物网站创建网址百度刷排名
  • 农村电商网站建设计划书百度的关键词优化
  • 没有内容的网站应该怎么做杭州seo全网营销
  • 长沙做网站公众微信号搜索引擎哪个最好用
  • 建网站要学什么百度资讯
  • 朋友用我的vps做网站百度爱采购
  • 义乌网站制作多少钱品牌策划书
  • 深圳网站系统哪家强seo综合查询站长工具怎么用
  • 去哪找做网站的人中央新闻
  • 新浪云 wordpress 主题最新黑帽seo教程