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

网站锚点成都企业模板网站开发

网站锚点,成都企业模板网站开发,解压wordpress路径的权限,网站建设运营的灵魂是什么意思1. 什么是策略模式 策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户端,客户端中的具体实现只需要了解上下文类。 2. 由什么组成 策略接口&…

1. 什么是策略模式

策略模式是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户端,客户端中的具体实现只需要了解上下文类。

2. 由什么组成

  1. 策略接口(Strategy):定义所有支持的算法的公共接口,也就抽象接口
  2. 具体策略类(Concrete Strategy):实现策略接口的具体算法
  3. 上下文类(Context):持有一个策略对象的引用,通过策略接口与具体策略交互

3. 怎么实现

// 1. 策略接口
interface PaymentStrategy {void pay(int amount);
}// 2. 具体策略类
class CreditCardPayment implements PaymentStrategy {private String cardNumber;public CreditCardPayment(String cardNumber) {this.cardNumber = cardNumber;}@Overridepublic void pay(int amount) {System.out.println("使用信用卡支付 " + amount + " 元,卡号:" + cardNumber);}
}class AlipayPayment implements PaymentStrategy {private String account;public AlipayPayment(String account) {this.account = account;}@Overridepublic void pay(int amount) {System.out.println("使用支付宝支付 " + amount + " 元,账户:" + account);}
}// 3. 上下文类
class ShoppingCart {private PaymentStrategy paymentStrategy;public void setPaymentStrategy(PaymentStrategy strategy) {this.paymentStrategy = strategy;}public void checkout(int amount) {paymentStrategy.pay(amount);}
}// 4. 客户端使用
public class Client {public static void main(String[] args) {ShoppingCart cart = new ShoppingCart();// 使用信用卡支付cart.setPaymentStrategy(new CreditCardPayment("1234-5678-9012-3456"));cart.checkout(1000);// 切换为支付宝支付cart.setPaymentStrategy(new AlipayPayment("example@alipay.com"));cart.checkout(500);}
}

4. 应用的场景

比较常见的支付业务,需要根据具体的选择具体的支付方式

商品的不同折扣策略

压缩工具的压缩算法的选择

游戏角色的不同攻击策略

5. 优点和缺点

5.1. 优点

  • 松耦合:策略模式将不同的策略封装在独立的类中,与上下文对象解耦,增加了代码的灵活性和可维护性。
  • 易于扩展:可以通过添加新的策略类来扩展系统的功能,无需修改现有代码。
  • 符合开闭原则:对于新的策略,无需修改上下文对象,只需要实现新的策略接口即可

5.2. 缺点

  • 类数量增多:每个具体策略都需要一个独立的类,如果策略较多,将导致类的数量增加。
  • 上层必须知道所有策略类:客户端必须知道有哪些策略,并选择合适的策略进行使用,也就是说客户端必须对策略有一个详细的了解。
http://www.dtcms.com/wzjs/830142.html

相关文章:

  • 山东省建设工程管理局网站订做网站策划
  • 网站网页设计项目计划书简述软件开发过程
  • 做网站设计难吗找外地的做网站
  • 增城网站建设方案精彩的网格布局网站
  • 珠海市网站建设健康陕西公众服务二维码图片
  • 可口可乐网站建设目的做任务游戏能赚钱的网站
  • 旅游网站建设意义珠宝网站设计方案
  • 盈利网站备案做外贸网站建设
  • 网站降权查询全球做的最好的公司网站
  • 康乐县网站建设威海网站建设吧
  • 基于o2o的旅游网站建设西安域名注册
  • 镇江网站制作哪家好福州建设厅官方网站
  • 网站模板内容怎么改wordpress 帮助 主题
  • 医院网站建设选哪家临沂定制网站建设公司
  • 江苏伟业建设集团网站品牌设计理念
  • zencart网站建设wordpress过滤显示插件
  • 视频结交网站怎么做网站查icp备案查询系统
  • 惠州企业网站设计网站建设用什么
  • 呼市网站优化十大电商平台有哪些
  • 网站服务器中如何做重定向在线设计房屋布局软件
  • 做网站+广告费+步骤网页制作培训多少钱一天
  • 网站开发待遇高吗ui设计培训课程
  • 商城网站怎么做推广方案wordpress怎样下载
  • 招商网站建设多少钱宁波网站设计开发
  • 国内哪个推广网站做的好海外推广品牌
  • 如何让网站速度快深圳网站定制多少钱
  • 成都市网站开发公司服务wordpress报错
  • 手把手网站开发模板中心
  • 开发大型网站的流程常州市建设工程交易网
  • 口碑好的福州网站建设网站建设目标 优帮云