专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

PHP 实现策略模式 完成多种支付方式的应用

策略模式:
定义一系列算法,将每一个算法封装起来,并让他们可以相互替换。
角色分析
抽象策略角色: 策略类,通常有一个接口或者抽象类
具体策略角色: 包装了相关的算法和行为
环境角色: 持有一个策略类的引用,给客户端调用。

65_1.png

<?php
abstract class PayStrategy
{
    abstract function pay();
}

class AliPay extends PayStrategy
{
    public function pay()
    {
        echo "使用支付宝完成支付";
    }
}

class WechatPay extends PayStrategy
{
    public function pay()
    {
        echo "使用微信完成支付";
    }
}

class UnionPay extends PayStrategy
{
    public function pay()
    {
        echo "使用银联完成支付";
    }
}

class Context
{
    private $strategy;

    public function __construct(PayStrategy $strategy)
    {
        $this->strategy = $strategy;
    }

    public function payOrder()
    {
        $strategy = get_class($this->strategy);
        switch ($strategy) {
            case 'AliPay':
                $pay = new AliPay();
                break;
            case 'WechatPay':
                $pay = new WechatPay();
                break;
            case 'UnionPay':
                $pay = new UnionPay();
                break;
        }

        $pay->pay();
    }
}

$pay = new Context(new WechatPay());
$pay->payOrder();

文章永久链接:https://tech.souyunku.com/45222

未经允许不得转载:搜云库技术团队 » PHP 实现策略模式 完成多种支付方式的应用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们