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

公司网站建站要多少钱一年排名优化工具

公司网站建站要多少钱一年,排名优化工具,微商城系统开发,网站上传程序流程策略设计模式 🚩什么是策略设计模式?🚩策略设计模式的特点🚩策略设计模式的结构🚩策略设计模式的优缺点🚩策略设计模式的Java实现🚩代码总结🚩总结 🚩什么是策略设计模式…

策略设计模式

  • 🚩什么是策略设计模式?
  • 🚩策略设计模式的特点
  • 🚩策略设计模式的结构
  • 🚩策略设计模式的优缺点
  • 🚩策略设计模式的Java实现
  • 🚩代码总结
  • 🚩总结

🚩什么是策略设计模式?

策略设计模式(Strategy Pattern) 是一种 行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互相替换,且算法的变化不会影响使用算法的客户。策略模式让算法独立于使用它的客户端而变化。

使用场景

  • 当需要在运行时选择不同的算法变体时

  • 当一个类定义了多种行为,并且这些行为以多个条件语句的形式出现时

  • 当需要隔离算法的具体实现与使用算法的客户端时

  • 适用于 支付方式选择排序算法切换折扣计算 等场景

🚩策略设计模式的特点

  • 定义算法族:将相关的算法封装成独立的策略类

  • 运行时切换:可以在运行时动态改变对象使用的算法

  • 消除条件语句避免使用多重条件判断来选择算法

  • 开闭原则:新增策略无需修改已有代码

  • 单一职责:每个策略类只负责一个算法

🚩策略设计模式的结构

策略模式主要包含以下部分:

  • Context(环境类):持有一个策略类的引用,调用具体策略

  • Strategy(抽象策略):定义所有支持的算法的公共接口

  • ConcreteStrategy(具体策略):实现抽象策略定义的算法

图例:

在这里插入图片描述

🚩策略设计模式的优缺点

✅ 优点

  • 算法可自由切换:策略类之间可以自由替换

  • 避免多重条件判断:将算法实现与使用分离

  • 扩展性好:增加新策略无需修改原有代码

  • 符合开闭原则:对扩展开放,对修改关闭

  • 易于单元测试:每个策略可以单独测试

❌ 缺点

  • 策略类数量增多:每个策略都是一个类,可能增加系统复杂度

  • 客户端必须了解所有策略:需要知道不同策略的区别

  • 策略对象可能增加开销:如果策略是无状态的,可以考虑共享

🚩策略设计模式的Java实现

代码地址:GitHub

  • 创建一个公共策略接口,定义公共操作两数操作方法TwoNumberOperation
/*** @author hanson.huang* @version V1.0* @InterfaceName Strategy* @Description 所有策略的公共操作* @date 2025/3/26 10:14**/
public interface Strategy {public void TwoNumberOperation(int a, int b);
}
  • 定义三个具体的策略类,AddStrategySubtractionStrategyMultiplyStrategy

    • AddStrategy两数之和
    /*** @author hanson.huang* @version V1.0* @ClassName AddStrategy* @Description 两数加法策略* @date 2025/3/26 10:33**/
    public class AddStrategy implements Strategy{@Overridepublic void TwoNumberOperation(int a, int b) {System.out.println(a + b);}
    }
    
    • SubtractionStrategy两数之差
    /*** @author hanson.huang* @version V1.0* @ClassName SubtractionStrategy* @Description 两数减法策略* @date 2025/3/26 10:35**/
    public class SubtractionStrategy implements Strategy {@Overridepublic void TwoNumberOperation(int a, int b) {System.out.println(a - b);}
    }
    
    • MultiplyStrategy 两数之积
    /*** @author hanson.huang* @version V1.0* @ClassName MultiplyStrategy* @Description 两数乘法策略* @date 2025/3/26 10:36**/
    public class MultiplyStrategy implements Strategy {@Overridepublic void TwoNumberOperation(int a, int b) {System.out.println(a * b);}
    }
    
  • OperationContext 策略类引用

/*** @author hanson.huang* @version V1.0* @ClassName OperationContext* @Description 策略引用* @date 2025/3/26 10:37**/
public class OperationContext {private Strategy strategy;public OperationContext(Strategy strategy) {this.strategy = strategy;}public void Operation(int a, int b) {strategy.TwoNumberOperation(a, b);}
}

📌 运行结果

在这里插入图片描述

🚩代码总结

  • Strategy 接口定义了所有策略的公共操作

  • AddStrategySubtractionStrategyMultiplyStrategy 是具体策略实现

  • OperationContext 是环境类,持有一个策略引用

  • 客户端可以动态切换不同的策略对象

🚩总结

  • 策略设计模式 定义算法族并封装每个算法,使它们可以互相替换

  • 核心是 将算法与使用算法的客户端解耦,避免使用条件语句

  • 适用于 需要动态切换算法有多种相似行为 的场景

✅ Java源码中的应用场景:

  1. Java集合框架中的Comparator

    • 不同的排序策略可以通过实现Comparator接口来实现
  2. Java线程池的拒绝策略:

    • AbortPolicyCallerRunsPolicy等不同的拒绝策略实现

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

在这里插入图片描述


文章转载自:

http://qGQs0aan.nnqjc.cn
http://ievwMJp8.nnqjc.cn
http://Igvr186Q.nnqjc.cn
http://G3KxHYyg.nnqjc.cn
http://wMPElexj.nnqjc.cn
http://1e07Imbu.nnqjc.cn
http://sZCaTIRl.nnqjc.cn
http://7N4hmzSK.nnqjc.cn
http://R892y4Js.nnqjc.cn
http://AqlEPqi2.nnqjc.cn
http://S1URHWwC.nnqjc.cn
http://AvWhnNIk.nnqjc.cn
http://19PeeNeo.nnqjc.cn
http://DtyBh0NF.nnqjc.cn
http://QBe9fTax.nnqjc.cn
http://NY3gg4uB.nnqjc.cn
http://wQwUq31t.nnqjc.cn
http://fowM5QNV.nnqjc.cn
http://pgS5R3gT.nnqjc.cn
http://QGPrr0Kf.nnqjc.cn
http://j7Krz7Xl.nnqjc.cn
http://rkEbZuFy.nnqjc.cn
http://8j5MuFxT.nnqjc.cn
http://PrfEbtOz.nnqjc.cn
http://ypwew8lm.nnqjc.cn
http://UhkIyjjO.nnqjc.cn
http://2waem8jR.nnqjc.cn
http://qXsh5n9O.nnqjc.cn
http://ff2XaKVW.nnqjc.cn
http://bSsXBrQP.nnqjc.cn
http://www.dtcms.com/wzjs/725284.html

相关文章:

  • 视频网站东单网站建设
  • asp 大型网站开发徐州鸿美网站建设
  • 河南省内 在哪个网站做商检表北京seo网站优化公司
  • 茂名专业做网站郑州网站公司哪家好
  • 潍坊网站建设壹品网络百度关键词搜索怎么收费
  • php网站开发视频教程下载苏州旅游网站设计
  • 做分类信息网站如何制作网站一般使用的软件有哪些
  • 中天建设集团网站全屏网站设计技巧
  • 杭州网站建设公司上海的所有公司
  • 凡科建设网站安全吗现在1做啥网站流量大
  • diywap手机网站系统本科软件开发专业
  • 网站服务内容填网站建设可以做电商设计在哪个网站接单
  • 使用vue做简单网站教程安徽六安特产有哪些
  • 制作一个响应式网站开发工具室内设计公司排行榜济宁
  • wordpress设置自动更新西安网站建设seo优化
  • Wordpress网站防止采集2014 网站建设
  • 做包装一般看什么网站怎么看别人网站怎么做的
  • 博客导入wordpress西安seo网站关键词优化
  • 大连开发区网站制作建设公司r语言做网站
  • php网站建设安装环境天津网站建设-中国互联
  • 北京市网站制作公司如何搭建一个企业子账号网站
  • 中国建设银行龙网站首页公司简介模板下载
  • 免费建设工程信息网站免费做彩页网站
  • 营销网站的建立网络推广工具大全
  • wordpress开发入门视频教程电脑优化软件排行榜
  • 网站制作尺寸建设银行手机app下载
  • 建设电子商务网站总结聊城设计网站
  • 怎么给网站上传附件wordpress 网速
  • asp网站 换模板百度移动
  • 学生处网站建设招标公告wordpress 强制ssl