本文实例讲述了PHP设计模式之策略模式原理与用法。分享给大家供大家参考,具体如下:
策略模式(Strategy Pattern)
策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。
策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。
策略模式的三个角色:
1. 抽象策略角色
2. 具体策略角色
3. 环境角色(对抽象策略角色的引用)
实现步骤:
1. 定义抽象角色类(定义好各个实现的共同抽象方法)
2. 定义具体策略类(具体实现父类的共同方法)
3. 定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法)
策略模式的代码实例:
?php
abstract class baseAgent { //抽象策略类
abstract function PrintPage();
}
//用于客户端是IE时调用的类(环境角色)
class ieAgent extends baseAgent {
function PrintPage() {
return 'IE';
}
}
//用于客户端不是IE时调用的类(环境角色)
class otherAgent extends baseAgent {
function PrintPage() {
return 'not IE';
}
}
class Browser { //具体策略角色
public function call($object) {
return $object->PrintPage ();
}
}
$bro = new Browser ();
echo $bro->call ( new ieAgent () );
?>
运行结果:
IE
就在编程领域之外,有许多例子是关于策略模式的。例如:
如果我需要在早晨从家里出发去上班,我可以有几个策略考虑:我可以乘坐地铁,乘坐公交车,走路或其它的途径。每个策略可以得到相同的结果,但是使用了不同的资源。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:- php设计模式 Strategy(策略模式)
- 学习php设计模式 php实现策略模式(strategy)
- PHP设计模式之策略模式(Strategy)入门与应用案例详解
- php设计模式之策略模式应用案例详解
- php设计模式之策略模式实例分析【星际争霸游戏案例】
- PHP实现的策略模式简单示例
- PHP策略模式定义与用法示例
- PHP设计模式之观察者模式(Observer)详细介绍和代码实例
- php设计模式 Template (模板模式)
- PHP常用的三种设计模式汇总
- php设计模式 Proxy (代理模式)
- PHP设计模式之 策略模式Strategy详解【对象行为型】