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

腾讯云建站小程序制作119

腾讯云建站,小程序制作119,上海企业黄页,大型网站集群怎么做一、概述 策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。策略模式通过将算法封装成独立的策略类,使得它们可以相互替换,而不影响使用算法的客户端。这样可以使客户端代码与具体算法的实现细节解耦,提高了代码的可…

一、概述

策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。策略模式通过将算法封装成独立的策略类,使得它们可以相互替换,而不影响使用算法的客户端。这样可以使客户端代码与具体算法的实现细节解耦,提高了代码的可维护性和扩展性。

在策略模式中,有三个主要角色:

  • 环境(Context):它持有一个策略对象,并在运行时调用策略对象的方法。
  • 抽象策略(Strategy):它定义了一个公共接口,用于封装不同的算法或行为。
  • 具体策略(Concrete Strategy):它实现了抽象策略接口,提供具体的算法或行为实现。

二、代码

下面是一个简单的策略模式的代码示例:

//1.抽象策略接口,支付策略
public interface PaymentStrategy {void pay(double amount);
}
//2.具体策略实现类,信用卡支付策略
public class CreditCardStrategy implements PaymentStrategy {private String name;private String cardNumber;private String cvv;public CreditCardStrategy(String name, String cardNumber, String cvv) {this.name = name;this.cardNumber = cardNumber;this.cvv = cvv;}public void pay(double amount) {System.out.println("Paying $" + amount + " with credit card: " + cardNumber);}
}
//3.具体策略实现类,PayPal支付策略
public class PayPalStrategy implements PaymentStrategy {private String email;private String password;public PayPalStrategy(String email, String password) {this.email = email;this.password = password;}public void pay(double amount) {System.out.println("Paying $" + amount + " with PayPal account: " + email);}
}
//4.策略环境类,购物车
public class ShoppingCart {private PaymentStrategy paymentStrategy;public void setPaymentStrategy(PaymentStrategy paymentStrategy) {this.paymentStrategy = paymentStrategy;}public void checkout(double amount) {paymentStrategy.pay(amount);}
}
//5.测试类
public class Test {public static void main(String[] args) {ShoppingCart cart = new ShoppingCart();// 使用信用卡支付PaymentStrategy creditCardStrategy = new CreditCardStrategy("tom", "123456789", "123");cart.setPaymentStrategy(creditCardStrategy);cart.checkout(100.0);// 使用PayPal支付PaymentStrategy payPalStrategy = new PayPalStrategy("example@example.com", "password");cart.setPaymentStrategy(payPalStrategy);cart.checkout(200.0);}
}

在上面的代码中,我们定义了一个抽象策略接口 PaymentStrategy,它包含了一个支付方法 pay()。然后我们实现了两个具体策略类 CreditCardStrategyPayPalStrategy,分别表示使用信用卡支付和使用PayPal支付的具体算法实现。

在环境类 ShoppingCart 中,我们通过设置不同的支付策略对象,来决定使用何种支付方式进行结算。在测试代码中,我们创建了一个购物车对象 cart,然后使用信用卡支付和PayPal支付进行结算,分别设置了相应的支付策略对象。

http://www.yayakq.cn/news/517302/

相关文章:

  • 网站黑色代码网站建设 数据库管理
  • 网站开发工作方向企业文化墙制作
  • 建设电动车官网白山镇seo快速排名
  • 360制作网站h1z1注册网站
  • 女性时尚网站模板网站只做优化
  • 关键词挖掘工具站wordpress 短代码 嵌套
  • wordpress 短代码 嵌套湘潭网站seo磐石网络
  • 网站服务器一个多少钱湖北微网站建设报价
  • 中国建设银行网站成都第七支行北京竞价托管代运营
  • 建筑培训网官网证件查询佛山seo整站优化
  • 宿州网站建设公司哪家好客户管理app
  • 怎么自己创立网站工业设计服务
  • 简述网站建设的过程网站建设就业怎么样
  • 新网站的宣传推广茶陵网站建设
  • 怎么做装球的网站网站怎么分工做
  • 做网站语言学什么百度网站安全检测平台
  • 网站阵地建设管理手机网站营销页
  • wordpress固定连接阳江seo
  • 做的好的网站欣赏佛山效果好上首页推广
  • 网站打开速度概念html5 wordpress模板
  • 如何做整人网站大兴建设网站公司
  • 烟台酒店网站建设无锡企业网站改版
  • 做二手衣服的网站论坛网站建设用工具软件
  • 成品网站w灬源码1688永久网站体育php网站源码
  • 信阳专业做网站公司企业网站定制设计公司
  • 西安php网站建设wordpress网站源代码
  • 中卫市住房建设局网站北京建设协会网站首页
  • 网站设计方案怎么写dede5.7内核qq个性门户网站源码
  • 怎样设计个人网站郑州做网站托管
  • 专业网站优化关键词广州app开发网站建设