PHP设计模式之策略模式

1、策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境
2、应用实例:比如一个电商网站,针对男性女性用户要各自跳转到不同的商品类目
3、使用策略模式可以实现Ioc、依赖倒置、控制反转
代码示例:
首先创建一个用户策略

创建一个男性策略

创建一个女性策略

创建调用

class Page
{
    /**
     * @var \UserStrategy
     */
    protected $strategy;

    public function index()
    {
        $this->strategy->showCat();
    }

    public function setStrategy(\UserStrategy $strategy)
    {
        $this->strategy = $strategy;
    }
}


if (isset($_GET['woman'])) {
    $strategy = new \WomanStrategy();
} else {
    $strategy = new \ManStrategy();
}
$page = new Page();
$page->setStrategy($strategy);
$page->index();

加我微信公众号【皮蛋馅儿】,一起学习哦~

你可能感兴趣的:(PHP设计模式之策略模式)