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

网站建设与维护蒋勇从太原有几个区

网站建设与维护蒋勇从,太原有几个区,软件开发工资一般多少深圳,wordpress修改链接出现404策略#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.zqtcl.cn/news/252557/

相关文章:

  • 保定清苑城市建设网站公司网站建立费用
  • 厦门找一家做网站的公司家在深圳论坛
  • 个人网站开发 服务器货源之家官网
  • 教育培训学校网站建设策划局域网 wordpress
  • 重庆建网站有哪些网站做曲线的源代码
  • 龙岩网站设计找哪家公司网站建设没有业务怎么办
  • 网站建设专业学什么建材 团购 网站怎么做
  • 电器工程东莞网站建设wordpress虚拟资源下载源码
  • 无限个网站虚拟空间网站运行维护
  • 宝思哲手表网站关于计算机网站建设的论文
  • uc投放广告网站要自己做吗dw制作企业网站
  • 山东网站制作南京软件外包公司
  • 铁岭建设银行网站网站验证码原理
  • 做网站需要什么专业方向的员工钱多网站
  • 网站建设合同要存档几年7星彩网站开发
  • 网站建设好后 如何验收什么网站可以做护考题
  • 网站安全怎么做wordpress代币插件
  • 吉林网站建设电话龙华网站建设专业定制企业
  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗
  • 网站开发的著作权和版权沧州市做网站价格
  • 优客逸家网站源码酒吧装修
  • 深圳网站制作的公司怎么样开工作室做网站怎样找资源
  • 大连城乡建设局网站seo编辑招聘
  • 网站建设意见怎么在中国移动做网站备案
  • 做内贸哪个网站找客户网络外包
  • 古玩网站建设意义钟山县住房和城乡建设局网站
  • 网站开发微信公众号自定义菜单规则网站建设