网站建设初学最火的深圳网站建设

张小明 2026/1/1 5:34:24
网站建设初学,最火的深圳网站建设,在线作图网站,游戏推广员拉人技巧策略模式详解什么是策略模式#xff1f;核心机制现实类比策略模式的优势典型应用场景1. 电商促销系统2. 支付系统实际应用示例电商订单处理图像处理应用策略模式详解 什么是策略模式#xff1f; 策略模式是一种行为设计模式#xff0c;其核心思想是#xff1a;定义一系列…策略模式详解什么是策略模式核心机制现实类比策略模式的优势典型应用场景1. 电商促销系统2. 支付系统实际应用示例电商订单处理图像处理应用策略模式详解什么是策略模式策略模式是一种行为设计模式其核心思想是定义一系列算法将每一个算法都封装起来并使它们可以相互替换。策略模式让算法独立于使用它的客户端而变化。核心机制策略模式的实现包含以下关键组件策略接口(Strategy Interface)定义所有支持的算法或行为的公共接口具体策略类(Concrete Strategies)实现策略接口的具体算法类上下文类(Context)持有一个策略对象的引用并通过策略接口与之交互现实类比以导航系统为例Context我们的出行行为Strategy Interface导航算法接口Concrete StrategiesFastestRouteStrategy时间最短策略ShortestRouteStrategy距离最短策略AvoidHighwayStrategy避开高速策略ScenicRouteStrategy风景路线策略策略模式的优势完美遵循开闭原则新增策略时只需添加新类无需修改现有代码例如电商系统新增会员日双倍积分策略时只需创建DoublePointsStrategy类算法独立与解耦每个策略类封装特定算法可独立测试和维护例如支付策略可单独测试微信支付、支付宝支付的业务逻辑消除条件语句将复杂的条件分支转换为对象组合例如替代支付方式选择的switch-case结构// 传统方式switch(paymentType){caseALIPAY:processAlipay();break;caseWECHAT:processWechat();break;// ...}// 策略模式paymentStrategy.pay(amount);运行时灵活性可在程序运行时动态切换策略例如根据网络状况切换图片加载策略高质量/省流量典型应用场景1. 电商促销系统策略接口publicinterfacePromotionStrategy{doublecalculatePrice(doubleoriginalPrice);}具体策略实现满减策略publicclassCashRebateStrategyimplementsPromotionStrategy{privatedoublecondition;// 满减条件如300privatedoublerebate;// 减免金额如50OverridepublicdoublecalculatePrice(doubleoriginalPrice){returnoriginalPricecondition?originalPrice-rebate:originalPrice;}}折扣策略publicclassDiscountStrategyimplementsPromotionStrategy{privatedoublediscountRate;// 折扣率如0.9OverridepublicdoublecalculatePrice(doubleoriginalPrice){returnoriginalPrice*discountRate;}}无优惠策略publicclassNoPromotionStrategyimplementsPromotionStrategy{OverridepublicdoublecalculatePrice(doubleoriginalPrice){returnoriginalPrice;}}上下文使用publicclassPromotionContext{privatePromotionStrategystrategy;publicvoidsetStrategy(PromotionStrategystrategy){this.strategystrategy;}publicdoubleexecuteStrategy(doubleoriginalPrice){returnstrategy.calculatePrice(originalPrice);}}2. 支付系统策略接口publicinterfacePaymentStrategy{voidpay(doubleamount);}具体支付实现支付宝支付publicclassAliPayStrategyimplementsPaymentStrategy{Overridepublicvoidpay(doubleamount){// 调用支付宝SDKSystem.out.println(使用支付宝支付amount元);}}微信支付publicclassWeChatPayStrategyimplementsPaymentStrategy{Overridepublicvoidpay(doubleamount){// 调用微信支付APISystem.out.println(使用微信支付amount元);}}银行卡支付publicclassCardPayStrategyimplementsPaymentStrategy{privateStringcardNumber;privateStringcvv;publicCardPayStrategy(StringcardNumber,Stringcvv){this.cardNumbercardNumber;this.cvvcvv;}Overridepublicvoidpay(doubleamount){// 银行卡支付逻辑System.out.println(使用银行卡cardNumber.substring(cardNumber.length()-4)支付amount元);}}支付服务上下文publicclassPaymentService{privatePaymentStrategypaymentStrategy;publicvoidsetPaymentStrategy(PaymentStrategystrategy){this.paymentStrategystrategy;}publicvoidprocessPayment(doubleamount){paymentStrategy.pay(amount);}}实际应用示例电商订单处理// 创建支付上下文PaymentServicepaymentServicenewPaymentService();// 用户选择支付宝支付paymentService.setPaymentStrategy(newAliPayStrategy());paymentService.processPayment(100.00);// 促销活动切换PromotionContextpromotionContextnewPromotionContext();promotionContext.setStrategy(newCashRebateStrategy(300,50));doublefinalPricepromotionContext.executeStrategy(350.00);// 返回300.00图像处理应用// 图像压缩策略interfaceCompressionStrategy{voidcompress(Imageimage);}classJPEGCompressionimplementsCompressionStrategy{privateintquality;publicJPEGCompression(intquality){this.qualityquality;}Overridepublicvoidcompress(Imageimage){// JPEG压缩逻辑}}classPNGCompressionimplementsCompressionStrategy{Overridepublicvoidcompress(Imageimage){// PNG无损压缩}}// 根据用户选择应用不同压缩策略CompressionStrategystrategyuserWantsLossless?newPNGCompression():newJPEGCompression(80);strategy.compress(userImage);
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

怎么做自助提卡网站江西网站建设哪家专业

探索对等网络技术:现状、挑战与未来 1. 现有对等网络项目 尽管网络之间互操作性的需求强烈,但目前在这方面的进展却十分有限。网络设计师们大多忙于各自网络的复杂实现细节。目前已知正在进行的唯一网关项目是世界自由网络(WFW)项目,该项目旨在将 Freenet 与万维网相结合…

张小明 2025/12/31 8:06:27 网站建设

专业定制网站建设公司html动漫网页设计论文

ESPTool从入门到精通:5步搭建完美开发环境 【免费下载链接】esptool 项目地址: https://gitcode.com/gh_mirrors/esp/esptool ESPTool作为ESP系列芯片的官方烧录工具,在物联网开发领域扮演着不可或缺的角色。无论是ESP8266、ESP32还是更新的ESP3…

张小明 2025/12/31 8:35:03 网站建设

网站域名怎么做做网站用什么网最好

彻底改变流放之路体验:PoE Overlay高效使用完全指南 【免费下载链接】PoE-Overlay An Overlay for Path of Exile. Built with Overwolf and Angular. 项目地址: https://gitcode.com/gh_mirrors/po/PoE-Overlay 还在为《流放之路》中繁琐的物品鉴定和市场交…

张小明 2025/12/31 8:35:48 网站建设

天津 网站优化百度云虚拟主机上传wordpress

本人在互联网行业干过十多年,共事过的程序员没有1000也有800了。我虽然年纪不大,但最早一批同事老早过了35岁了。 身边很多35岁以上的程序员,他们把最好的青春奉献给了公司,当然大多数也获得了不菲的物质回报。 确实还有不少程序…

张小明 2025/12/31 9:02:51 网站建设

网站可分析提供定制型网站建设

如何彻底解决 Keil5 中文乱码问题?一套真正可用的跨平台编码兼容方案在嵌入式开发的世界里,Keil MDK(尤其是 μVision5)依然是许多基于 ARM Cortex-M 芯片项目的首选工具链。但如果你的团队中有人用中文写注释、变量名或文档说明—…

张小明 2025/12/31 9:40:52 网站建设