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

Pk10网站建设多少钱义乌最好的电商培训学校

Pk10网站建设多少钱,义乌最好的电商培训学校,免费图片设计,网站建设集团一、概述 策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。策略模式通过将算法封装成独立的策略类,使得它们可以相互替换,而不影响使用算法的客户端。这样可以使客户端代码与具体算法的实现细节解耦,提高了代码的可…

一、概述

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

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

  • 环境(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.ysxn.cn/news/2064.html

相关文章:

  • win10 电脑做网站服务器吗快速seo软件
  • 一个可以用来做测试的网站上海网络优化服务
  • 网站使用标题做路径网络营销推广的特点
  • 外贸自建站多少钱杭州搜索推广公司
  • 政府网站建设招标文件天堂网
  • 哪些网站可以做外贸深圳网络推广哪家公司好
  • 企业网站设计的方案新东方烹饪学校
  • 做网站内容合作seo公司
  • ubuntu 2016 建设php网站网络营销策划的流程
  • 松江做网站公司如何创建微信小程序
  • 江苏两学一做网站g3云推广靠谱吗
  • 平潭综合实验区交通与建设网站网站推广优化流程
  • 深圳营销网站制作推广普通话手抄报内容怎么写
  • 遵义做什么网站好品牌整合推广
  • 不规则网站模板徐州网站建设
  • 网站规划开发前景四年级2023新闻摘抄
  • 千素网站建设goole官网
  • 英孚做测试的网站seo就业指导
  • 长沙网站开发百度推广有哪些形式
  • 建设网站建设方案怎么去优化关键词
  • 自己的网站没有域名解析1个百度指数代表多少搜索
  • 网站两边广告自有品牌如何推广
  • 5g网络架构seo咨询茂名
  • 成都网站制作实力乐云seo黄冈seo顾问
  • 高端网站设计报价手机制作网页用什么软件
  • 常熟外贸网站建设苏州网站建设费用
  • 小说网站排名怎么做国外直播平台tiktok
  • 外贸谷歌推广电脑优化设置
  • php网站开发实用技术课后习题东莞seo
  • 什么平台卖软件郑州百度seo关键词