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

江西专业网站建设中国建筑网建设通查询证件网

江西专业网站建设,中国建筑网建设通查询证件网,修水县城乡建设局官方网站,网站开发三步策略#xff08;Strategy#xff09;设计模式定义了一系列算法#xff0c;将它们封装起来#xff0c;并且可以相互替换使用#xff0c;从而使得算法可以独立于使用它的客户而变化。 什么是策略模式 策略#xff08;Strategy#xff09;设计模式是一种行为型设计模式Strategy设计模式定义了一系列算法将它们封装起来并且可以相互替换使用从而使得算法可以独立于使用它的客户而变化。 什么是策略模式 策略Strategy设计模式是一种行为型设计模式它允许在运行时动态地选择算法。策略模式将算法封装为算法族从而可以在运行时根据需要选择不同的算法。策略模式将算法的定义与其使用分离使得算法的形式可独立于其具体应用这样就可以在不修改代码的情况下透明地改变算法。在 Java 中策略模式通常使用接口或抽象类来定义不同的策略然后在其具体实现类中分别实现各自的算法。 策略模式的使用场景 策略Strategy设计模式适用于以下情况 需要在运行时动态地改变对象的行为。有多个算法可选客户端需要根据不同的需要选择不同的算法。一个类定义了多种行为并且这些行为在类的方法中以多个条件语句的形式出现。这时候可以将每种条件分支转化为一个独立的策略。 策略模式的代码示例 下面是一个简单的示例用于演示策略Strategy设计模式的使用 // 定义策略接口 interface Strategy {public int doOperation(int num1, int num2); }// 实现策略接口的具体实现类加法策略 class OperationAdd implements Strategy {Overridepublic int doOperation(int num1, int num2) {return num1 num2;} }// 实现策略接口的具体实现类减法策略 class OperationSubtract implements Strategy {Overridepublic int doOperation(int num1, int num2) {return num1 - num2;} }// 实现策略接口的具体实现类乘法策略 class OperationMultiply 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) {Context context new Context(new OperationAdd());System.out.println(10 5 context.executeStrategy(10, 5));context new Context(new OperationSubtract());System.out.println(10 - 5 context.executeStrategy(10, 5));context new Context(new OperationMultiply());System.out.println(10 * 5 context.executeStrategy(10, 5));} }在上面的代码中我们定义了一个 Strategy 接口该接口用于定义不同的算法。我们实现了三个具体的策略类OperationAdd、OperationSubtract 和 OperationMultiply分别对应加法、减法和乘法算法。每个具体策略类都实现了 Strategy 接口中的方法。 我们还定义了一个 Context 上下文对象它包含了一个策略对象可以根据不同的策略执行不同的算法。在 Context 对象中定义了一个 executeStrategy 方法根据当前策略对象执行相应的算法。 在客户端代码中我们首先创建了一个 Context 对象并使用 OperationAdd 策略执行加法算法。然后我们重新定义了 Context 对象并使用 OperationSubtract 策略执行减法算法。最后我们又重新定义了 Context 对象并使用 OperationMultiply 策略执行乘法算法。 代码的运行结果为 10 5 15 10 - 5 5 10 * 5 50这是因为我们分别使用了三个不同的策略加法、减法和乘法并将它们用于 Context 对象中执行计算。最后我们打印了每个计算的结果。 策略模式的实际应用 Spring框架Spring框架中的依赖注入DI和控制反转IOC机制允许在运行时动态选择不同的实现。通过在配置文件中配置不同的策略可以在不修改代码的情况下实现选择不同的策略。 Hibernate框架Hibernate框架中的查询语言HQLHibernate Query Language提供了不同的查询策略通过选择不同的查询策略可以根据需求选择合适的查询方式以提高查询效率。 Java集合框架Java集合框架中的排序方法Comparator接口是策略模式的典型示例。使用排序策略接口可以在不修改集合类的情况下根据不同的条件进行排序。 总结 策略Strategy设计模式提供了一种能够在运行时动态地改变对象行为的解决方案。在策略设计模式中将算法的实现与算法的使用者相分离从而可以根据需要选择不同的算法。通过使用接口或抽象类来定义各种策略可以在运行时动态选择合适的策略。这使得算法的改变能够以透明的方式进行而不会影响客户端代码的实现。在实际软件开发中策略设计模式被广泛应用特别是在需要在运行时改变对象行为的场景中。
http://www.hkea.cn/news/14301120/

相关文章:

  • 怎样制作企业的网站高科技公司网站模板
  • 网站成品作业上海网站建设方案咨询
  • 贵州省兴义市建设局网站首页个人团购网站 转入备案
  • 自己建设自己的网站自己想开个网站怎么弄
  • 新浦网站制作seo和sem是什么意思啊
  • 什么网站做外贸好旅游网站怎么做才能被关注
  • 网站开发与设计实训总结两千字网站正能量入口
  • 做爰全过程免费的教网站进国企但是签的是外包
  • 2008 iis配置网站如何建立自己的购物网站
  • 福建住房和城乡建设部网站首页西安网站seo优化
  • 我做网站可以赚钱吗常州网站建设系统
  • 长春本地网站制作wordpress迁移所有页面空白
  • 招商网站建设服务商国外数码印花图案设计网站
  • 免费制作永久企业网站宁波模板建站定制网站
  • 温州开发网站公司青岛天河小学网站建设
  • 沈阳高铁站南宁中庭装饰公司电话
  • 网站开发过程会遇到的问题wordpress主题开发工具
  • 哈尔滨专业做网站在线制作头像框
  • 网站建设的实验原理爱做奈官方网站
  • 韩城网站建设韩城网站推广营销活动推广策划
  • 邯郸做紧固件网站甘肃建设银行网站
  • 网站建设推广用兴田德润中交路建子公司最新排名
  • 泰安建设局网站天津搜索引擎优化
  • wordpress登陆页面修改关键词排名优化报价
  • 南沙网站建设哪家好wordpress 全局播放器
  • 长沙知名网站建设三星网上商城官网
  • 网站类型分类网站核验单怎么下载
  • 石家庄行业网站建设网站建设分工表
  • 怎样做境外网站上赚钱如何在百度上搜到网站
  • 浏阳市商务局网站溪江农贸市场建设网站建设通知