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

网站建设相关博客网站建设与

网站建设相关博客,网站建设与,院系网站建设,农业建设项目管理信息系统网站策略模式是一种行为型设计模式#xff0c;它允许在运行时选择算法的行为。这种模式定义了一系列算法#xff0c;并使这些算法可以相互替换#xff0c;使得算法的变化独立于使用算法的客户。 以下是策略模式的一般结构#xff1a; Context#xff08;上下文#xff09;它允许在运行时选择算法的行为。这种模式定义了一系列算法并使这些算法可以相互替换使得算法的变化独立于使用算法的客户。 以下是策略模式的一般结构 Context上下文负责维护一个对Strategy对象的引用并且将客户请求委托给Strategy对象。 Strategy策略定义所有支持的算法的公共接口。通常是一个接口或者抽象类。 ConcreteStrategy具体策略实现了Strategy接口的具体算法实现。 下面是一个简单的Java示例演示了如何使用策略模式 // 1. Strategy interface PaymentStrategy {void pay(double amount); }// 2. ConcreteStrategy class CreditCardPayment implements PaymentStrategy {private String cardNumber;private String expirationDate;private String cvv;public CreditCardPayment(String cardNumber, String expirationDate, String cvv) {this.cardNumber cardNumber;this.expirationDate expirationDate;this.cvv cvv;}Overridepublic void pay(double amount) {System.out.println(Paid $ amount using Credit Card);} }class PayPalPayment implements PaymentStrategy {private String email;private String password;public PayPalPayment(String email, String password) {this.email email;this.password password;}Overridepublic void pay(double amount) {System.out.println(Paid $ amount using PayPal);} }// 3. Context class ShoppingCart {private PaymentStrategy paymentStrategy;public void setPaymentStrategy(PaymentStrategy paymentStrategy) {this.paymentStrategy paymentStrategy;}public void checkout(double amount) {paymentStrategy.pay(amount);} }// 4. 使用示例 public class Main {public static void main(String[] args) {// 创建购物车对象ShoppingCart cart new ShoppingCart();// 设置支付策略为信用卡cart.setPaymentStrategy(new CreditCardPayment(1234-5678-9012, 10/25, 123));// 结账cart.checkout(100.0);// 设置支付策略为PayPalcart.setPaymentStrategy(new PayPalPayment(exampleexample.com, password));// 结账cart.checkout(200.0);} }在这个示例中PaymentStrategy是策略接口CreditCardPayment和PayPalPayment是具体策略。ShoppingCart是上下文它持有一个对PaymentStrategy的引用并在结账时调用支付方法。通过更改支付策略我们可以在不修改ShoppingCart的情况下选择不同的支付方式。
http://www.pierceye.com/news/277940/

相关文章:

  • 网站开发到上线需要多久骆驼有没有做网站的公司
  • 中小企业网站建设示范平台wordpress停用react
  • 网站怎样防止攻击seo顾问培训
  • 网站建设后需要维护吗微信安全中心官网
  • dw可以做h5网站设计素材网站0
  • 建设银行郑州中心支行网站青海商会网站建设公司
  • 国外小型网站中国视觉设计网
  • 沈阳专业网站制作团队泰安网络软件公司
  • 网站建设招聘兼职0基础建站教程
  • 如何从零开始做网站文学网站建设平台
  • 企业网站的网址通常包含dchaser wordpress
  • 什么是做网站flash是怎么做网站的
  • 什么是速成网站石家庄网站建设就找
  • 张家界网站建设要求滨州网站建设费用
  • wordpress订阅插件南昌优化排名推广
  • 国外做网站公司能赚钱吗wordpress登录锚点弹
  • 微网站平台微网站建设方案邢台市有几个区几个县
  • 茶叶外贸网站建设中国建设银行是国企还是央企
  • 成都网站建设公司有哪些内容必应搜索
  • 青岛建设集团招聘信息网站公司官网怎么制作
  • 本溪网站开发公司电话县蒙文网站建设汇报
  • 广州建网站有哪些怎么做网站建设赚钱
  • led视频网站建设邯郸建设信息网站
  • 开发网站培训班网站详情页用cdr做可以吗
  • 相亲网站开发与设计报告广州网站维护
  • 门户网站 技术方案北京感染人数最新消息
  • 网站制作过程流程酷家乐在线设计官网
  • 六年级做网站的软件小程序开发文档微信小程序
  • 做网站要准备哪些汕头建站公司模板
  • 杭州多语言网站建设网站转app工具