博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
策略模式
阅读量:5077 次
发布时间:2019-06-12

本文共 853 字,大约阅读时间需要 2 分钟。

/** * 策略抽象类 规定策略名称 */abstract class strategy {    abstract function operating();}/** * 第一个策略 */class strategy_1 extends strategy {    public function operating() {        echo '第一个策略';    }}/** * 第二个策略 */class strategy_2 extends strategy {    public function operating() {        echo'第二个策略';    }}/** * 策略生成器 */class strategy_context {    private $strategy;    public function __construct($num) {        //根据不同的条件生成不同的策略        if($num == 1) {            $this->strategy = new strategy_1();        }else{            $this->strategy = new strategy_2();        }    }    public function operating() {        return $this->strategy->operating();    }}$strategy_context = new strategy_context(1);$strategy_context->operating();

策略模式(strategy):

它定义了算法家族,分别将各个算法封装起来,让各个算法之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户端。

转载于:https://www.cnblogs.com/buexplain/p/4602258.html

你可能感兴趣的文章
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
两种最常用的Sticky footer布局方式
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Java程序IP v6与IP v4的设置
查看>>
RUP(Rational Unified Process),统一软件开发过程
查看>>
数据库链路创建方法
查看>>