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

导航类网站源码wordpress新建模板

导航类网站源码,wordpress新建模板,wordpress 图片链接,乔拓云网微信小程序制作在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 策略模式:Strategy。指的是,定义…

在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。

策略模式:Strategy。指的是,定义了一组算法,并将每个算法封装在独立的类中。然后在运行的时候,可以灵活的选择其中的一个算法。

在这里我们根据案例来具体学习策略模式。以下是代码示例及知识点详解。

我们以去餐厅吃饭,选择不同的支付方式为例,支付宝支付、信用卡支付、现金支付,这些就可以作为策略实现。

先定义支付策略。

// 支付策略接口
public interface PaymentStrategy {void pay(double amount);
}

实现信用卡支付策略。

// 信用卡支付
public class CreditCardPayment implements PaymentStrategy {private String cardNumber;private String name;public CreditCardPayment(String cardNumber, String name) {this.cardNumber = cardNumber;this.name = name;}@Overridepublic void pay(double amount) {System.out.println(amount + "元通过信用卡支付,卡号:" + cardNumber + ",持卡人:" + name);}
}

实现支付宝支付策略。

// 支付宝支付
public class AlipayPayment implements PaymentStrategy {private String account;public AlipayPayment(String account) {this.account = account;}@Overridepublic void pay(double amount) {System.out.println(amount + "元通过支付宝支付,账户:" + account);}
}

实现现金支付策略。

// 现金支付
public class CashPayment implements PaymentStrategy {@Overridepublic void pay(double amount) {System.out.println(amount + "元现金支付,收款成功");}
}

创建上下文策略类。

// 购物车/订单类(上下文)
public class ShoppingCart {private PaymentStrategy paymentStrategy;// 设置支付策略public void setPaymentStrategy(PaymentStrategy paymentStrategy) {this.paymentStrategy = paymentStrategy;}// 结账public void checkout(double amount) {paymentStrategy.pay(amount);}
}

执行程序,测试结果。

public class StrategyPatternDemo {public static void main(String[] args) {ShoppingCart cart = new ShoppingCart();// 选择信用卡支付cart.setPaymentStrategy(new CreditCardPayment("1234-5678-9012", "张三"));cart.checkout(100.50);// 切换为支付宝支付cart.setPaymentStrategy(new AlipayPayment("zhangsan@alipay.com"));cart.checkout(200.75);// 切换为现金支付cart.setPaymentStrategy(new CashPayment());cart.checkout(50.25);}
}

策略模式的核心思想:在一个计算方法中,把容易变化的算法抽象出来作为策略参数传进去,这样就可以实现动态选择不同的算法,使得新增策略不必修改原有逻辑。

总结

策略模式允许调用方选择一个算法实现,从而通过不同策略实现不同的计算结果。

客户端代码不需要知道具体的算法细节,而是通过调用环境类来使用所选择的策略。

扩展策略,不需要修改现有逻辑。

http://www.dtcms.com/a/480579.html

相关文章:

  • 北京企业响应式网站建设wordpress 主页地址
  • 做网站需要懂那些软件中山市路桥建设有限公司网站
  • .net可以做网站做游戏 博客园ueditor 插件wordpress
  • 分布式技术原理与设计
  • 网站建设都 包括哪些个人网站取名
  • 手机网站建设平台合同网站运营企业
  • 做网站的市场30分钟快速建设网站
  • 制作html网站模板dede企业模板dedecms蓝色企模板php网站源码
  • 深圳网站开发费用基于工作过程的商务网站建设 网页制作
  • 动易网站开发的主要技术手机门户网站开发
  • 网站开发 需要用到什么软件北京软件开发公司怎么样
  • wordpress自定义注册页面模板苏州网站优化哪家好
  • 上海网站建设hxwlkj马克飞象 wordpress
  • 建设外围彩票网站虚拟商城平台
  • 微网站内容页模板最好的设计公司
  • 东营 微信网站建设中国空间站扩建
  • 网站设计网站建站网站建设公司 深圳信科
  • 九江专业网站建设昆山小程序制作
  • 阜南网站建设公司仿糗事百科网站源码
  • 罗湖商城网站设计多少钱wordpress取消邮件验证码
  • 个人网站视频建设遂溪手机网站建设公司
  • 浏阳建设局网站家具设计图制作软件
  • windows 下载 pip包,debian离线安装
  • 百度网站推广排名优化广州专业拓客团队联系方式
  • 已经注册了域名怎么做简单的网站室内设计学校前十
  • h5婚纱摄影网站模板wordpress wiki主题
  • 单仁营销网站的建设计算机网站建设教程
  • 做vi网站导航网站备案
  • php做视频网站两岸已进入准战争状态
  • 网站建设企业排行榜耳机 东莞网站建设