PHP设计模式
行为型模式(13)策略模式
>策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。 - 使用场景: - 例如有一个CD类,我们类存储了CD的信息。 - 原先的时候,我们在CD类中直接调用getCD方法给出XML的结果 - 随着业务扩展,需求方提出需要JSON数据格式输出 - 这个时候我们引进了策略模式,可以让使用方根据需求自由选择是输出XML还是JSON ```php //cd类 class cd { protected $cdArr; public function __construct($title, $info) { $this->cdArr['title'] = $title; $this->cdArr['info'] = $info; } public function getCd($typeObj) { return $typeObj->get($this->cdArr); } } class json { public function get($return_data) { return json_encode($return_data); } } class xml { public function get($return_data) { $xml = '<?xml version="1.0" encoding="utf-8"?>'; $xml .= '<return>'; $xml .= '<data>' .serialize($return_data). '</data>'; $xml .= '</return>'; return $xml; } } $cd = new cd('cd_1', 'cd_1'); echo $cd->getCd(new json); echo $cd->getCd(new xml); ```
顶部
收展
底部
[TOC]
目录
PHP设计模式概述
设计模式之开闭原则
设计模式之里氏代换原则
设计模式之接口隔离原则
创建型模式(1)单例模式
创建型模式(2)工厂模式
创建型模式(3)抽象工厂模式
创建型模式(4)原型模式
创建型模式(5)建造者模式
结构型模式(6)委托代理模式
结构型模式(7)装饰模式
结构型模式(8)外观模式
结构型模式(9)组合模式
结构型模式(10)适配器模式
结构型模式(11)桥接模式
结构型模式(12)享元模式
行为型模式(13)策略模式
行为型模式(14)解释器模式
行为型模式(15)观察者模式
行为型模式(16)模板方法模式
行为型模式(17)迭代器模式
行为型模式(18)命令模式
行为型模式(19)备忘录模式
行为型模式(20)状态模式
行为型模式(21)访问者模式
行为型模式(22)中介者模式
行为型模式(23)责任链模式
相关推荐
PHP基础
PHP函数
PHP算法
PHP版本