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

做搜索引擎优化网站费用购物网站制作多少钱

做搜索引擎优化网站费用,购物网站制作多少钱,3d网站设计,深圳制作网站的公司简介策略模式的思想 策略模式#xff08;Strategy Pattern#xff09;是一种行为型设计模式#xff0c;它允许在运行时选择算法的行为。策略模式的核心思想是将不同的算法封装成独立的策略类#xff0c;并使这些策略类可以互相替换#xff0c;从而使客户端代码不依赖于具体的算…策略模式的思想 策略模式Strategy Pattern是一种行为型设计模式它允许在运行时选择算法的行为。策略模式的核心思想是将不同的算法封装成独立的策略类并使这些策略类可以互相替换从而使客户端代码不依赖于具体的算法增加了代码的灵活性和可维护性 策略模式的组成部份 策略接口Strategy Interface定义一组算法的通用接口通常包含一个或多个方法这些方法表示不同策略所执行的操作。 具体策略类Concrete Strategies实现策略接口提供具体的算法实现。每个具体策略类代表一种算法或策略的具体实现。 环境类Context持有一个策略对象的引用并提供方法来执行算法。环境类通常包含一个设置策略的方法以及使用策略来执行操作的方法 策略模式的优点 通过动态切换策略对象可以在运行时适应不同的需求提高了代码的灵活性策略模式有助于减少代码重复因为多个算法可以共享相同的接口和通用行为可以轻松添加新的算法或策略无需修改现有的客户端代码符合开放封闭原则。提高了代码的可维护性因为每个算法都有自己的类易于理解和维护 例子  以支付为例不同人进行的支付方式可能不同定义一个策略类并将pay接口定义为虚函数如果想要扩展支付方式直接定义新的类并继承策略类重写pay函数即可 #include iostream// 策略接口 class PaymentStrategy { public:virtual void pay(int amount) 0; };// 具体策略类1信用卡支付 class CreditCardPayment : public PaymentStrategy { private:std::string cardNumber;std::string name;public:CreditCardPayment(const std::string cardNumber, const std::string name): cardNumber(cardNumber), name(name) {}void pay(int amount) override {std::cout amount paid using credit card. std::endl;// 具体的支付逻辑} };// 具体策略类2PayPal支付 class PayPalPayment : public PaymentStrategy { private:std::string email;public:PayPalPayment(const std::string email): email(email) {}void pay(int amount) override {std::cout amount paid using PayPal. std::endl;// 具体的支付逻辑} };// 环境类 class ShoppingCart { private:PaymentStrategy* paymentStrategy;public:void setPaymentStrategy(PaymentStrategy* strategy) {paymentStrategy strategy;}void checkout(int amount) {if (paymentStrategy) {paymentStrategy-pay(amount);} else {std::cout Please set a payment strategy before checking out. std::endl;}} };int main() {// 创建环境对象ShoppingCart cart;// 设置具体策略cart.setPaymentStrategy(new CreditCardPayment(1234-5678-9876-5432, John Doe));// 执行支付操作cart.checkout(100);// 切换策略cart.setPaymentStrategy(new PayPalPayment(johnexample.com));// 再次执行支付操作cart.checkout(50);return 0; }
http://www.pierceye.com/news/983033/

相关文章:

  • 怎样建设免费网站个别网站网速慢怎么做
  • 网页设计制作音乐排行榜一键seo提交收录
  • 网站推广要我营业执照复印件conoha wordpress
  • 免费行情软件app网站排行高质量外链网站
  • 免费解析网站制作网站开发项目实战视频
  • 柳州网站建设工作室基金会网站开发方案
  • 龙海网站建设微网站如何建设
  • 手机视频网站怎么做贵阳专业做网站
  • 网站建设题库vps上的网站运行太慢
  • 化妆品网站优化沧州网站制作公司
  • 专业优定软件网站建设上海seo服务
  • 网站充值怎么做的c2c平台的产品类型
  • 阿里去要企业网站建设方案书手机设计房子的软件3d下载
  • 凡科网站登录入轻博客网站开发
  • wordpress微信机器人订阅号性价比高seo网站优化
  • 网站建设全网推广亚马逊seo搜索什么意思
  • 做网站_你的出路在哪里android app for wordpress
  • 代刷网网站建设成都建立网站
  • 建设网站的费用预算商城网站制作
  • 北京网络法庭2018年企业网站优化如何做
  • asp.net做网站的步骤网站维护的作用
  • 网站制作前期所需要准备wordpress邮箱配置文件
  • 网站建设网站排名怎么做赣州专业做网站
  • 吉林电商网站建设价格做网站需要每年都缴费吗
  • 怎样用dede搭建网站域名网址
  • 做网站编辑有前途怎么样才算是一个网站页面
  • 建设鲜花网站前的市场分析网店设计理念
  • 网站建设优化服务公司wordpress非代码方式添加备案号
  • asp网站安装到空间教育网站平面设计
  • 快速设计一个网站网站h标签