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

网站后台无法上传附件搜索引擎优化seo多少钱

网站后台无法上传附件,搜索引擎优化seo多少钱,做网站公司需要多少钱,360度网站模板目录 一、 啥是策略模式?二、 为什么要用策略模式?三、 策略模式的实现方式四、 策略模式的优缺点五、 策略模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支…

在这里插入图片描述

目录

    • 一、 啥是策略模式?
    • 二、 为什么要用策略模式?
    • 三、 策略模式的实现方式
    • 四、 策略模式的优缺点
    • 五、 策略模式的应用场景
    • 六、 总结

🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢🤗!
🌟了解模板方法模式请看: (十 三)趣学设计模式 之 模版方法模式!
✨更多请看个人主页: 码熔burning

这篇文章带你详细认识一下设计模式中的策略模式

一、 啥是策略模式?

想象一下,你要去旅游 ✈️,可以选择不同的交通方式:飞机 ✈️、火车 🚄、汽车 🚗。 你可以根据自己的需求和预算,选择最合适的交通方式。

策略模式,就是用来解决算法选择的问题! 它可以将算法封装成独立的策略类,并让客户端可以灵活地选择不同的策略 🎁。

简单来说,就是把不同的算法封装起来,让客户端可以根据需要选择不同的算法!

  • 你需要使用不同的算法来解决同一个问题: 就像你需要使用不同的排序算法来排序数据 🔢!
  • 你希望在运行时动态地选择算法: 就像你需要根据不同的用户选择不同的推荐算法 🛍️!
  • 你希望避免大量的 if-else 语句: 就像你需要根据不同的条件执行不同的操作 😫!

二、 为什么要用策略模式?

用策略模式,好处多多 👍:

  • 提高代码的灵活性: 可以动态地选择不同的策略,使得代码更加灵活 🤸!
  • 提高代码的可维护性: 将算法封装成独立的策略类,使得代码更加清晰易懂 💡!
  • 符合开闭原则: 可以在不修改现有代码的情况下,增加新的策略,扩展功能 🆕!
  • 避免大量的 if-else 语句: 使得代码更加简洁优雅 💫!

三、 策略模式的实现方式

策略模式主要包含三个核心概念:

  • 策略接口(Strategy): 定义了策略的接口,声明了所有策略都需要实现的方法 🤝!
  • 具体策略类(ConcreteStrategy): 实现了策略接口,封装了具体的算法 ⚙️!
  • 环境类(Context): 持有策略接口的引用,负责在运行时选择并调用具体的策略 🏭!
// 策略接口:支付方式
public interface PaymentStrategy {void pay(int amount); // 支付
}// 具体策略类:支付宝支付
public class AlipayPayment implements PaymentStrategy {private String account; // 支付宝账号public AlipayPayment(String account) {this.account = account;}@Overridepublic void pay(int amount) {System.out.println("使用支付宝账号 " + account + " 支付 " + amount + " 元");}
}// 具体策略类:微信支付
public class WechatPayment implements PaymentStrategy {private String phone; // 微信绑定的手机号public WechatPayment(String phone) {this.phone = phone;}@Overridepublic void pay(int amount) {System.out.println("使用微信绑定的手机号 " + phone + " 支付 " + amount + " 元");}
}// 环境类:支付上下文
public class PaymentContext {private PaymentStrategy paymentStrategy; // 支付策略public PaymentContext(PaymentStrategy paymentStrategy) {this.paymentStrategy = paymentStrategy;}public void setPaymentStrategy(PaymentStrategy paymentStrategy) {this.paymentStrategy = paymentStrategy;}public void pay(int amount) {paymentStrategy.pay(amount); // 调用支付策略的支付方法}
}// 客户端
public class Client {public static void main(String[] args) {// 创建支付上下文PaymentContext paymentContext = new PaymentContext(new AlipayPayment("1234567890")); // 默认使用支付宝支付// 支付paymentContext.pay(100); // 使用支付宝支付 100 元// 切换支付方式paymentContext.setPaymentStrategy(new WechatPayment("9876543210")); // 切换到微信支付// 再次支付paymentContext.pay(200); // 使用微信支付 200 元}
}

代码解释

  • PaymentStrategy 接口定义了支付策略的接口,声明了 pay 方法。
  • AlipayPayment 类和 WechatPayment 类实现了 PaymentStrategy 接口,封装了支付宝支付和微信支付的算法。
  • PaymentContext 类是支付上下文,它持有 PaymentStrategy 接口的引用,负责在运行时选择并调用具体的支付策略。
  • 客户端通过 PaymentContext 类选择支付方式,并调用 pay 方法进行支付。

输出结果

使用支付宝账号 1234567890 支付 100 元
使用微信绑定的手机号 9876543210 支付 200 元

四、 策略模式的优缺点

优点:

  • 提高代码的灵活性 🤸!
  • 提高代码的可维护性 💡!
  • 符合开闭原则 🆕!
  • 避免大量的 if-else 语句 💫!

缺点:

  • 增加了类的数量 😫!
  • 客户端需要知道所有的策略 🤯!

五、 策略模式的应用场景

  • 排序算法: 可以使用不同的排序算法来排序数据 🔢!
  • 推荐算法: 可以根据不同的用户选择不同的推荐算法 🛍️!
  • 支付方式: 可以选择不同的支付方式进行支付 💰!
  • 压缩算法: 可以使用不同的压缩算法来压缩文件 🗜️!

六、 总结

  • 策略模式就像选择困难症的福音,算法随心换,策略任你挑! 🎁
  • 核心概念包括策略接口、具体策略类和环境类! 🔑
  • 优点是提高代码的灵活性、提高代码的可维护性、符合开闭原则、避免大量的 if-else 语句! 👍
  • 缺点是增加了类的数量、客户端需要知道所有的策略! 👎
  • 适用于需要使用不同的算法来解决同一个问题,或者需要在运行时动态地选择算法的场景! 🎯

希望这篇文章能让你彻底理解策略模式! 💯 祝你学习愉快! 😄
看完请看:(十 五)趣学设计模式 之 命令模式!

http://www.dt0577.cn/news/31193.html

相关文章:

  • 厦门商务网站建设网络广告策划方案范文
  • 山东省住房与建设厅网站短视频怎么赚钱
  • 网站免费建站网络营销的方法
  • 阐述网站建设的步骤过程关键字搜索引擎
  • 母婴网站模板seo招聘信息
  • wordpress侧边小工具栏点金推广优化公司
  • 制作一个购物网站国际新闻最新消息今天
  • 泉州自助建站软件广告联盟论坛
  • 做动态网站系统用什么语言seo关键词优化软件
  • 代账行业门户网站开发百度推广关键词怎么优化
  • 怎么做网站推广线下外贸网站免费推广
  • 手机营销网站模板网站推广网络推广
  • 网站开发团队需要几个人提高工作效率的软件
  • 织梦个人博客网站源码营销案例100例小故事及感悟
  • 深圳台历制作seo搜索优化待遇
  • 深圳在哪些网站找什么好处网络营销工作内容是什么
  • 公司网站备案材料推广seo网站
  • 企业宣传网站源码快手秒赞秒评网站推广
  • 外贸可以什么网站做怎么建立一个网站
  • wordpress复制按钮长沙网络优化产品
  • 包装纸箱怎么做网站灰色词首页排名接单
  • 只做dnf的网站自媒体营销的策略和方法
  • 芜湖企业做网站广告设计公司
  • 做建材营销型网站seo快速排名优化
  • 天津有哪些互联网公司网站应该如何进行优化
  • 手机能看的网站有哪些seo文章生成器
  • 光棍天堂手机2019版免费观看长沙seo外包
  • 深圳网站定制建设百度搜索推广的定义
  • iis配置静态网站网络营销推广策划
  • 黑河网站建设百度关键词竞价查询系统