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

电线电缆做销售哪个网站好朝阳seo建站

电线电缆做销售哪个网站好,朝阳seo建站,wordpress pc 手机,查公司备案网站备案信息Java 策略模式之优雅处理条件逻辑 前言 在软件开发中#xff0c;我们经常会遇到根据不同的条件执行不同逻辑的情况。这时#xff0c;策略模式是一种常用的设计模式#xff0c;能够使代码结构清晰、易于扩展和维护。 本文将详细介绍策略模式的概念及其在Java中的应用#x…Java 策略模式之优雅处理条件逻辑 前言 在软件开发中我们经常会遇到根据不同的条件执行不同逻辑的情况。这时策略模式是一种常用的设计模式能够使代码结构清晰、易于扩展和维护。 本文将详细介绍策略模式的概念及其在Java中的应用通过代码示例演示如何使用策略模式来处理条件逻辑以达到代码设计的灵活性和可维护性。 什么是策略模式 策略模式Strategy Pattern是一种行为型设计模式它允许在运行时根据不同的条件选择不同的算法或行为。它将每个条件分支的逻辑封装在一个独立的类中使得它们可以独立变化互不影响。 策略模式使用了面向对象的封装、继承和多态等特性使得代码具备高内聚、低耦合的特点。通过将条件逻辑的变化封装到策略类中不仅可以简化代码的编写还能提高代码的可维护性、可扩展性和可重用性。 实现原理 策略模式实现原理主要涉及以下几个部分 策略接口Strategy Interface定义了各个策略类必须实现的方法。这个接口将算法逻辑进行抽象并定义了统一的方法或行为。 策略类Concrete Strategies实现implements策略接口并封装了具体的算法逻辑。每个具体策略类都是独立的且具体逻辑互相隔离分别实现不同的算法。 上下文类Context包含一个策略接口成员变量并在运行时根据需要使用具体的策略类。上下文类通过策略接口与具体的策略类进行交互并调用策略类中定义的算法。上下文主要用于决定使用哪个策略类 使用策略模式的关键在于上下文类与策略类之间的耦合解耦。上下文类通过策略接口与具体的策略类进行交互而不是直接依赖于具体的策略类。这样在需要更换或增加新的策略时只需要修改上下文类的代码而不需要修改客户端的代码从而实现了代码的灵活性和可扩展性。 示例支付系统中的策略模式 假设我们正在开发一个支付系统其中有多种支付方式包括现金支付、信用卡支付和支付宝支付。不同的支付方式计算价格的逻辑可能有所不同我们可以使用策略模式来实现这一需求。 首先我们定义一个策略接口PaymentStrategy它声明了一个名为calculatePrice的方法用于计算价格 1.定义策略接口 // 定义策略接口 public interface PaymentStrategy {double calculatePrice(double price); } 2.定义策略类实现PaymentStrategy接口的方法 // 策略类使用现金支付 public class CashPaymentStrategy implements PaymentStrategy {Overridepublic double calculatePrice(double price) {// 这里是现金支付的价格计算逻辑return price * 0.9; // 打9折} }// 策略类使用信用卡支付 public class CreditCardPaymentStrategy implements PaymentStrategy {Overridepublic double calculatePrice(double price) {// 这里是信用卡支付的价格计算逻辑return price * 1.2; // 加收20%手续费} }// 策略类使用支付宝支付 public class AlipayPaymentStrategy implements PaymentStrategy {Overridepublic double calculatePrice(double price) {// 这里是支付宝支付的价格计算逻辑return price * 0.95; // 打95折} } 3.接下来我们创建一个上下文类PaymentContext用于将不同的策略类进行封装外部调用时只需关注该上下文类 // 上下文类 public class PaymentContext {private PaymentStrategy paymentStrategy;public PaymentContext(PaymentStrategy paymentStrategy) {this.paymentStrategy paymentStrategy;}public double calculate(double price) {return paymentStrategy.calculatePrice(price);} } 4.最后我们可以通过实例化不同的策略类对象并将其传入PaymentContext中然后调用calculate方法进行价格计算 public class Main {public static void main(String[] args) {PaymentStrategy cashPayment new CashPaymentStrategy();PaymentContext cashPaymentContext new PaymentContext(cashPayment);double cashPrice cashPaymentContext.calculate(100.0);System.out.println(现金支付价格 cashPrice);PaymentStrategy creditCardPayment new CreditCardPaymentStrategy();PaymentContext creditCardPaymentContext new PaymentContext(creditCardPayment);double creditCardPrice creditCardPaymentContext.calculate(100.0);System.out.println(信用卡支付价格 creditCardPrice);PaymentStrategy alipayPayment new AlipayPaymentStrategy();PaymentContext alipayPaymentContext new PaymentContext(alipayPayment);double alipayPrice alipayPaymentContext.calculate(100.0);System.out.println(支付宝支付价格 alipayPrice);} } 运行上述代码可以得到如下输出 现金支付价格90.0 信用卡支付价格120.0 支付宝支付价格95.0 在以上示例中我们定义了三种不同的支付策略现金支付、信用卡支付和支付宝支付它们分别实现了PaymentStrategy接口并实现了自己的价格计算逻辑。通过创建PaymentContext对象并传入不同的支付策略我们可以调用calculate方法获得相应的价格结果。 总结 通过策略模式我们可以优雅地处理条件逻辑将各个条件分支的逻辑封装到独立的策略类中使得代码结构清晰、易于扩展和维护。 策略模式适用于需求中存在多个条件分支并且这些条件分支的逻辑会随时变化的情况。使用策略模式能够提高代码的可读性和可维护性同时也符合面向对象设计原则中的开闭原则。 在实际开发中我们可以根据具体需求灵活运用策略模式帮助我们构建出高质量、易于维护的代码。 参考资料 《Head First 设计模式》
http://www.w-s-a.com/news/85049/

相关文章:

  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作
  • 网站建设如何开票网站后台怎么做超链接
  • 教育网站设计方案建设网站技术公司电话号码
  • 建网站要定制还是第三方系统传奇网站模板psd
  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少