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

帮网站做诚信证书可靠吗b站推广网站2024年

帮网站做诚信证书可靠吗,b站推广网站2024年,四川建设设计公司网站,ci框架建设网站Java 策略模式(Strategy Pattern)详解 🧠 什么是策略模式? 策略模式是一种行为型设计模式,它定义了一系列算法,把它们一个个封装起来,并且使它们可以互相替换。策略模式让算法独立于使用它的客…

Java 策略模式(Strategy Pattern)详解

🧠 什么是策略模式?

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


🎯 使用场景

  • 多种算法或行为频繁切换
  • 避免冗长的 if-elseswitch 语句
  • 希望将行为的选择交由客户端决定

🏗️ 模式结构

  • Context(上下文):维护一个对策略对象的引用
  • Strategy(抽象策略类):定义所有支持的算法的公共接口
  • ConcreteStrategy(具体策略类):实现具体的算法

✅ 示例:支付策略

策略接口(Strategy)

public interface PaymentStrategy {void pay(int amount);
}

具体策略(ConcreteStrategy)

public class CreditCardPayment implements PaymentStrategy {private String cardNumber;public CreditCardPayment(String cardNumber) {this.cardNumber = cardNumber;}@Overridepublic void pay(int amount) {System.out.println("使用信用卡支付 " + amount + " 元,卡号:" + cardNumber);}
}public class WeChatPayment implements PaymentStrategy {@Overridepublic void pay(int amount) {System.out.println("使用微信支付 " + amount + " 元");}
}

上下文类(Context)

public class PaymentContext {private PaymentStrategy strategy;public void setStrategy(PaymentStrategy strategy) {this.strategy = strategy;}public void executePayment(int amount) {strategy.pay(amount);}
}

客户端调用

public class Client {public static void main(String[] args) {PaymentContext context = new PaymentContext();context.setStrategy(new CreditCardPayment("1234-5678-9876"));context.executePayment(500);context.setStrategy(new WeChatPayment());context.executePayment(300);}
}

✅ 优点

  • 避免大量条件语句
  • 易于扩展新策略,符合开闭原则
  • 提高算法或行为的灵活性

⚠️ 缺点

  • 增加了类的数量
  • 客户端必须了解所有策略,才能选择合适的

🧩 使用建议

当你有多种行为变化的情况,并希望通过多态将它们分开处理时,策略模式是一个很优雅的选择。

http://www.dtcms.com/wzjs/236733.html

相关文章:

  • 网站建设 源美设计球队世界排名榜
  • 日照又做渔家网站的吗精品成品网站源码
  • 广州中国建设银行网站首页济南网站万词优化
  • 成都网站建设是什么做网络推广为什么会被抓
  • 淄博网站建设-中国互联河南百度推广代理商
  • 济南seo优化公司黄山seo排名优化技术
  • 荣誉章标志做网站淘宝店铺怎么引流推广
  • 莞城营销型网站建设网店运营实训报告
  • wordpress博客站点统计代码网站免费网站免费优化优化
  • 抖店推广北京核心词优化市场
  • 做视频解析网站河南省疫情最新情况
  • 做宣传册从哪个网站找素材网络营销都具有哪些功能
  • 公安网站建设自查报告活动营销推广方案
  • 旅游网站建设前期分析长沙关键词优化方法
  • 做一款网站注意啥重庆森林为什么不能看
  • 网站中文域名续费是什么情况广州宣布5条优化措施
  • 用javaweb做购物网站seo专家是什么意思
  • 重庆建设工程信息网官网入口30系统登录页面seo优化排名方法
  • 伊犁网站建设seo顾问阿亮博客
  • 电子商务网站建设读书笔记百度站长平台如何添加网站
  • 山东建设管理局网站中国国际新闻
  • 软件开发公司深圳seo sem什么意思
  • 网站开发成本预算价目表西安百度框架户
  • 大学生做网站兼职市场营销策划包括哪些内容
  • 河源手机网站制作五年级下册数学优化设计答案
  • 政府网站建设集约化服务器seo咨询推广找推推蛙
  • 注册二级建造师查询入口谷歌优化排名怎么做
  • 增城网站建设合肥seo网络优化公司
  • 五金设备网站建设怎样制作属于自己的网站
  • 做礼品的网站新闻头条今日要闻10条