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

网站关键词做的越多越好吗中国站长

网站关键词做的越多越好吗,中国站长,aqq网站开发,seo博客网站目录 什么是策略模式 代码实现 什么是策略模式 策略模式是一种行为型设计模式,它定义了一系列算法,将每个算法封装成一个独立的对象,使得它们可以相互替换。 在策略模式中,通常有三个角色: 环境类(Cont…

目录

什么是策略模式

代码实现


什么是策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,将每个算法封装成一个独立的对象,使得它们可以相互替换。

在策略模式中,通常有三个角色:

  1. 环境类(Context): 它负责维护一个对策略对象的引用,并在需要时调用策略对象的方法。环境类通常提供一个方法来设置和修改当前所采用的策略。

  2. 抽象策略接口(Strategy): 它定义了一个算法的抽象接口,声明了算法的方法。

  3. 具体策略类(Concrete Strategy): 它实现了抽象策略接口,定义了具体的算法实现。

策略模式的关键在于将算法封装成独立的策略对象,并使得这些策略对象可以相互替换。这样,客户端代码只需要与策略接口交互,而不需要关心具体的算法实现,从而实现了算法与客户端代码的解耦。

策略模式的优点包括:

  • 灵活性: 策略模式使得算法的变化独立于使用算法的客户端,客户端可以根据需要动态地选择和切换算法。
  • 复用性: 策略模式将算法封装成独立的策略对象,使得可以更容易地复用算法。
  • 扩展性: 策略模式可以很容易地新增新的算法,并且无需修改现有的客户端代码。

然而,策略模式也存在一些缺点,例如增加了类的数量和复杂性,以及需要客户端了解各种策略之间的差异和选择合适的策略等。

        下面我们使用java代码来实现一个策略模式,走你~~~

代码实现

// 定义策略接口
interface Strategy {int doOperation(int num1, int num2);
}// 具体策略类:加法策略
class AddStrategy implements Strategy {@Overridepublic int doOperation(int num1, int num2) {return num1 + num2;}
}// 具体策略类:减法策略
class SubtractStrategy implements Strategy {@Overridepublic int doOperation(int num1, int num2) {return num1 - num2;}
}// 具体策略类:乘法策略
class MultiplyStrategy implements Strategy {@Overridepublic int doOperation(int num1, int num2) {return num1 * num2;}
}// 环境类
class Context {private Strategy strategy;public Context(Strategy strategy) {this.strategy = strategy;}public int executeStrategy(int num1, int num2) {return strategy.doOperation(num1, num2);}
}// 客户端代码
public class Client {public static void main(String[] args) {// 创建具体策略实例Strategy addStrategy = new AddStrategy();Strategy subtractStrategy = new SubtractStrategy();Strategy multiplyStrategy = new MultiplyStrategy();// 创建环境实例,并设置具体策略Context context = new Context(addStrategy);// 调用环境的方法执行具体策略int result1 = context.executeStrategy(10, 5);System.out.println("10 + 5 = " + result1);// 修改环境的策略为减法策略context = new Context(subtractStrategy);int result2 = context.executeStrategy(10, 5);System.out.println("10 - 5 = " + result2);// 修改环境的策略为乘法策略context = new Context(multiplyStrategy);int result3 = context.executeStrategy(10, 5);System.out.println("10 * 5 = " + result3);}
}

 效果如图:

        非常的实用,喜欢的小伙伴可以动动你们发财的小手,给博主一个小小的点赞或者关注,就是对博主最大的鼓励,爱你们哦~~  

http://www.dt0577.cn/news/36628.html

相关文章:

  • 网站开发工具的快手seo关键词优化
  • 相册网站怎么做今天国际新闻最新消息
  • 江阴网站设计哪家好列举五种网络营销模式
  • 北京通州网站建设衡阳有实力seo优化
  • 企业网站一般要素重庆seo扣费
  • 巴塘网站建设网站推广方案策划
  • 佛山网站维护宁波seo快速优化课程
  • 模板网站建设信息百度搜索风云榜单
  • 做个素材网网站难做吗360推广开户
  • 阿里云做网站教程百度下载安装到桌面上
  • 苏州seo建站五种网络营销推广方法
  • 运城有做网站设计网页
  • 品牌建设不足的原因优化大师是什么软件
  • 重庆网站整合营销电商是做什么的
  • 网站建设博客百度快照推广效果怎样
  • 瓷器网站怎么做seo网络优化是做什么的
  • 怎么做网站的悬浮客服优化设计六年级下册数学答案
  • 海南网站建设fwlit网络营销的背景和意义
  • 如何做网站诊断外包公司排名
  • 凡科做的网站为什么打不开网络平台有哪些
  • 深圳市路桥建设集团有限公司招标采购网站cnzz统计
  • 绵阳做手机网站建设seo顾问是什么
  • share poine 户做网站国际羽联最新排名
  • php做网站真的有前途吗网站设计费用明细
  • 临猗商城网站建设平台西安网站推广
  • 食品企业网站模板优化大师电脑版官方
  • 怎么让自己的网站被百度收录seo研究中心论坛
  • 网站开发获客渠道seo国外英文论坛
  • 在哪里可以学做饰品网站关键词seo优化排名公司
  • 网站营销一个公司可以做几个百度推广