怎么在PHP中使用策略模式

怎么在PHP中使用策略模式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

策略模式(Strategy Pattern)

怎么在PHP中使用策略模式

策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。

策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。

策略模式的三个角色:

1. 抽象策略角色

2. 具体策略角色

3. 环境角色(对抽象策略角色的引用)

实现步骤:

1. 定义抽象角色类(定义好各个实现的共同抽象方法)

2. 定义具体策略类(具体实现父类的共同方法)

3. 定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法)

策略模式的代码实例:

<?php
abstractclassbaseAgent{//抽象策略类
abstractfunctionPrintPage();
}
//用于客户端是IE时调用的类(环境角色)
classieAgentextendsbaseAgent{
functionPrintPage(){
return'IE';
}
}
//用于客户端不是IE时调用的类(环境角色)
classotherAgentextendsbaseAgent{
functionPrintPage(){
return'notIE';
}
}
classBrowser{//具体策略角色
publicfunctioncall($object){
return$object->PrintPage();
}
}
$bro=newBrowser();
echo$bro->call(newieAgent());
?>

运行结果:

IE

就在编程领域之外,有许多例子是关于策略模式的。例如:

如果我需要在早晨从家里出发去上班,我可以有几个策略考虑:我可以乘坐地铁,乘坐公交车,走路或其它的途径。每个策略可以得到相同的结果,但是使用了不同的资源。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。

发布于 2021-04-03 22:30:45
收藏
分享
海报
0 条评论
167
上一篇:怎么在PHP中使用观察者模式 下一篇:Zend_Db_Table_Row如何在Zend Framework中使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码