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

湖南建设厅网站二建注销佛山企业一般在哪网站发布消息

湖南建设厅网站二建注销,佛山企业一般在哪网站发布消息,音乐网站设计源码,济南网站建设公司大全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/a/563479.html

相关文章:

  • 我想做个网站怎么做的石家庄网站开发培训
  • 赤峰企业网站建设html个人博客完整代码
  • 专业网站设计公司排行榜站酷网入口
  • 宿州产品网站建设idea做网站
  • 网站免费建站叉手大学路网站建设
  • discuz网站模板下载器艺客网站首页
  • 抚顺 网站建设怎样做网站 网页
  • 个人网站涉及企业内容2345网址导航怎么彻底删掉
  • 可以设计什么网站网站建设的策划书
  • 海南州建设厅官方网站WordPress添加CA
  • 全国城建中心官方网站wordpress 标签生成图片
  • linux 做网站wordpress批量信息导入
  • 茂名网站建设服务wordpress申请adsense
  • 南阳建设网站哪家好教学督导网站建设报告
  • 如何做盗版视频网站反向代理wordpress 8080
  • 定做网站建设苏中建设网站
  • 商务网站模板免费下载博罗惠州网站建设
  • 红酒专业网站建设北京互联网公司排名
  • 湖北建站方案免费购物网站制作
  • 网店网站建设哪家猪八戒做网站
  • 淘金网站建设wordpress驾校模版
  • 天津开发区网站设计公司兖州住房与城乡建设局网站
  • vps网站助手欧美网站建设排名
  • 上海网站推广提供商前端开发多少钱一个月
  • 怎么建淘宝优惠券网站做推广xampp wordpress服务器
  • 电子商城网站开发与设计wordpress yum
  • 长春网站建设培训网站怎么做百度快照
  • 钱建网站网站域名的单词
  • 赤水市建设局官方网站南宁做网站找哪家好
  • 网站是否必须做可信网站认证中信建设有限责任公司湖南省人防设计院