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

做网站送的手机站是什么公司网站链接怎么弄

做网站送的手机站是什么,公司网站链接怎么弄,网站开源程序,阿里云虚拟主机建站教程策略模式的核心原理 策略模式(Strategy Pattern)是一种行为型设计模式,它的核心思想可以概括为:将一系列可互换的算法封装起来,使得它们可以相互替换,并且算法的变化不会影响使用算法的客户端。 策略模式的…

策略模式的核心原理

策略模式(Strategy Pattern)是一种行为型设计模式,它的核心思想可以概括为:将一系列可互换的算法封装起来,使得它们可以相互替换,并且算法的变化不会影响使用算法的客户端。

策略模式的三大核心角色

  • 抽象策略(Strategy):定义所有具体策略的公共接口,通常是一个接口或抽象类,声明了具体策略需要实现的方法。
  • 具体策略(Concrete Strategy):实现抽象策略接口,包含具体的算法实现。策略模式中可以有多个具体策略。
  • 上下文(Context):持有一个策略对象的引用,负责与策略对象交互。上下文会将具体的算法执行委托给策略对象,客户端通过上下文来使用策略,而无需直接与具体策略交互。
    在这里插入图片描述

策略模式的核心优势

  • 消除大量条件判断:用多态替代 if-else 或 switch-case,使代码更清晰
  • 遵循开闭原则:新增策略只需实现接口,无需修改原有代码
  • 提高代码复用性:每个策略都是独立的类,便于复用和测试
  • 动态切换算法:可以在运行时根据需要切换不同的策略

策略模式的核心优势

  • 消除大量条件判断:用多态替代 if-else 或 switch-case,使代码更清晰
  • 遵循开闭原则:新增策略只需实现接口,无需修改原有代码
  • 提高代码复用性:每个策略都是独立的类,便于复用和测试
  • 动态切换算法:可以在运行时根据需要切换不同的策略

实际应用场景

策略模式在实际开发中广泛应用,例如:

支付方式选择:支付宝、微信、银联等不同支付策略
排序算法:冒泡排序、快速排序、归并排序等可互换
导航算法:步行导航、驾车导航、公共交通导航等
折扣计算:普通折扣、会员折扣、满减折扣等

Java 实践

// 策略接口:计算操作
interface CalculationStrategy {int execute(int a, int b);
}// 具体策略:加法
class AdditionStrategy implements CalculationStrategy {@Overridepublic int execute(int a, int b) {return a + b;}
}// 具体策略:减法
class SubtractionStrategy implements CalculationStrategy {@Overridepublic int execute(int a, int b) {return a - b;}
}// 具体策略:乘法
class MultiplicationStrategy implements CalculationStrategy {@Overridepublic int execute(int a, int b) {return a * b;}
}// 环境类:计算器
class Calculator {private CalculationStrategy strategy;public void setStrategy(CalculationStrategy strategy) {this.strategy = strategy;}public int calculate(int a, int b) {if (strategy == null) {throw new IllegalStateException("策略未设置");}return strategy.execute(a, b);}
}// 测试类
public class StrategyPatternDemo {public static void main(String[] args) {Calculator calculator = new Calculator();// 使用加法策略calculator.setStrategy(new AdditionStrategy());System.out.println("10 + 5 = " + calculator.calculate(10, 5));// 使用减法策略calculator.setStrategy(new SubtractionStrategy());System.out.println("10 - 5 = " + calculator.calculate(10, 5));// 使用乘法策略calculator.setStrategy(new MultiplicationStrategy());System.out.println("10 * 5 = " + calculator.calculate(10, 5));}
}
http://www.dtcms.com/a/543929.html

相关文章:

  • 誉重网站建设公司自己如何建企业网站
  • 重庆网站建设与制作中国咨询公司
  • 未来网登录网址网站seo做哪些工作
  • 手机百度关键词排名 seo网站优化软件风云办公ppt模板网站
  • 桥西区附近网站建设价格河南seo关键词排名优化
  • 高校校园网站建设评比自评网站产品优化描述
  • 合肥网站建设网页设计爱上链外链购买平台
  • 怎么样让网站快速收录模版型网站
  • 临沂罗庄建设局网站网站界面设计中的版式设计有哪些
  • 网站seo优化方案设计泰安人才网网上办事
  • 网站错位设计一个网站的首页步骤
  • 作文素材网站品牌网站设计制作公司地址
  • 360免费建站李梦中国服务外包公司排名
  • 制作个人网站素材六安做网站的
  • 建站程序下载网络营销案例ppt
  • 有什么网站是layui做的网站注册备案查询
  • 做旅游去哪个网站找图it外包服务平台
  • 专业网站定制流程万能视频下载神器
  • 万维网站续费多少一年苏州吴江保洁公司
  • 杭州网站建设找思创网络沧州青县机械加工网
  • 云南俊发建设集团网站html简单一套网页源代码
  • 财经网站源码 织梦咸阳 网站建设
  • 网站开发程序开发广东网站开发收费
  • 配资网站建设是什么意思北京哪些做网站的公司好
  • 乐清网站建设服务wordpress 使用ip访问
  • 深圳制作网站搜行者seojs特效如何放到网站上
  • 怎么建设公司网站信息优质做网站费用
  • 班级网站建设的参考文献求个网站谢谢啦
  • 印尼网站建设费用专业的新乡网站建设
  • 公司网站建设哪家比较好欢乐海岸网站建设