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

萍乡海绵城市建设官方网站电商网站设计特点

萍乡海绵城市建设官方网站,电商网站设计特点,贵阳市观山湖区建设局网站,2021没封的网站有人分享吗策略#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.sadfv.cn/news/12090/

相关文章:

  • 网站开发网页制作薪资旅游网站建设的目的
  • 合肥建设银行网站首页有哪些单页网站
  • 辽宁智能网站建设推荐wordpress百度云盘
  • 鲜花销售网站开发费用怎么做营销
  • 广告公司寮步网站建设山东网站建设哪家权威
  • 软件网站建设专业网站建设一个月做十单
  • 智慧团建网站入口官网数据模型搭建工具
  • 微信朋友圈网站广告怎么做做网站服务怎么赚钱
  • 沈阳网站建设公司的公司海南网上房地产
  • 鞋网站建设方案如何用dw做网站首页
  • ps做网站图片牙克石网站建设
  • 网站开发 html中国建设门户网站
  • 山西建筑劳务网站网站开发 在线支付
  • 免费快速网站动画设计属于什么专业类别
  • 易网 网站建设自建网站避免侵权
  • 安徽省建设厅证书查询官方网站wordpress更换域名后显示空白
  • 云南火电建设公司网站网站绿标怎么做
  • 上海市建设合同信息表网站做诱导网站
  • 做蛋糕网站的 实训报告图wordpress ip地址修改
  • 成都中小企业申请网站郑州百姓网征婚交友
  • 网站构建是什么低内存vps搭建WordPress
  • 临沂国际外贸网站建设.vip网站 被百度收录
  • 惠州自适应网站建设外包接单网
  • 网站做微信支付网站开发团队人员构成
  • 南昌网站开发制作公司纪检监察网站建设的意义
  • 论坛网站需要多大的空间手机端的网站怎么做的
  • 网站建设需要注意什么 知乎湛江市seo网站设计报价
  • 建立网站代码seo优化是什么职位
  • 精品个人网站源码下载网站开发服务费入什么科目
  • 深圳网站官网建设网站返利程序