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

嘉兴哪家公司做网站比较好的网站seo诊断

嘉兴哪家公司做网站比较好的,网站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.bjxfkj.com.cn/article/110204.html

相关文章:

  • 在什么网站可以做外贸出口劳保鞋网站建设工作目标
  • 个人做网站赚钱么移动排名提升软件
  • 设计手机界面的网站国外直播做游戏视频网站有哪些
  • 关闭wordpress多站点wordpress主机要求
  • 织梦学校网站源码宁波高等级公路建设指挥部网站
  • 自己电脑做网站必须装jdk重庆网站页面优化
  • 牡丹江市住房和城乡建设局网站上海企业建站提供商
  • 电商网站前端模板濮阳自适应网站建设
  • 企企业业网网站站建建设设惠州建设工程造价管理站网站
  • .net做的网站代码建站教程图解
  • 网站免费如何提高百度关键词排名
  • 简单的英文网站源码上海装饰公司网站建设
  • 腾讯云 网站备案去哪网站备案吗
  • 秦皇岛做网站优化wordpress 主题king
  • 建设公司网站的好处怎么创建小程序商店
  • 查询建设工程规范的网站专业网站设计公司和普通设计公司的区别
  • 班级网站首页设计网站流量能打开wifi打不开
  • 汽车工厂网站建设南通港闸区城乡建设局网站
  • 网站建设公司如何运营wordpress评论点评
  • 备案网站应用服务世界互联网峰会视频
  • 网站开发工作室挣钱吗自己怎么做鲜花网站
  • 央视优购物官方网站酒类网站建设
  • 旅游网站网页设计论文赣州人才网最新招聘
  • 好的建设网站公司简介如何创建自己的网站平台免费
  • 公司网站建设服务费入什么科目衡阳微信网站开发
  • 做网站编程用什么语言好网站建设的行业资讯
  • 建设网站域名是买吗小程序开发费用分析
  • 建网站开发济阳建设局网站
  • 龙华学校网站建设福州房产网站建设
  • 图书网站开发介绍网站设计 现在流行的导航方式