资讯专栏INFORMATION COLUMN

编程中的那些套路——关于策略模式

tabalt / 3310人阅读

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP

今天讲讲策略模式,策略模式 和工厂模式十分相像(或者说在代码逻辑层面,他们是一样的)。

但策略模式与工厂模式有一点很重要的区别:

工厂模式:我们着眼于得到对象,并操作对象,

策略模式:我们着重得到对象某方法的运行结果

看代码

object = new Firstaid();
 
        $this->object->help();
 
    }
 
}
 
//实际对外的120接口
 
class Help120 implements Factory{
 
    public $object;
 
    public function action(){
 
        $this->object = new Call120();
 
        $this->object->help();
 
    }
 
}
 
$Help = new Help120();
 
$Help->action();//output 打120
 
?>
 

根据不同的情况使用不同的策略,即策略模式,与工厂模式确实很像,但他确确实实不是工厂模式,重点看人如何定义它,为了操作对象即为工厂模式,为了获取结果即为策略模式。

该文章属于《编程中的那些经典套路——设计模式汇总》系列

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21694.html

相关文章

  • 编程中的那些套路——关于工厂模式

    摘要:该文章属于编程中的那些经典套路设计模式汇总系列,并且以下内容基于语言前面我们写了简单工厂模式,编程中的那些套路关于简单工厂模式,但简单工厂模式有一些不足违反开放封闭原则,所以需要设计出一套更加规范的设计模式。 该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 前面我们写了简单工厂模式,《编程中的那些套路——关于简单工厂模式》,但简单工厂模式有一些不足(...

    light 评论0 收藏0
  • 编程中的那些经典套路——设计模式汇总

    摘要:如果看不懂的话,可以在评论区中提问,我会第一时间回答你无论何时我一直都在嗯哼该文章属于编程中的那些经典套路设计模式汇总系列 在正式阅读前,我先谈谈我们该用什么姿势和心态学习设计模式: 如果你还没有过多的编程经验(泛指半年以下),我建议你把它当做小说来看,能看懂多少是多少,因为半年以下经验的程序员用到设计模式的情况只会出现在面试上,至于实际工作中?相对来说这部分不会由你负责。 如果你已...

    youkede 评论0 收藏0
  • 编程中的那些套路——关于简单工厂模式

    摘要:简单工厂模式就是遵循了这一原则,它让不同职责的类各司其职。重点来了,简单工厂模式的不足但是简单工厂模式有一个不足,虽然它遵循了单一职责原则,但它违反了另一条同样很重要的原则开放封闭原则。 该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 面向对象五大原则中有一点非常重要的原则:单一职责原则。 简单工厂模式就是遵循了这一原则,它让不同职责的类各司其职。 ...

    Rocture 评论0 收藏0
  • 编程中的那些套路——关于责任链模式

    该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 今天来谈谈责任链模式,乍一听责任链模式好像很高级的一样,但是相信我,其实每位天朝的同学都十分熟悉这个模式,责任链模式,就好像中国的官场制度一样,每一个级别的权利都区分的很细,举个生活中的栗子: 村委不能越级去替镇委办事情,如果村委无法解决,只能向上求助镇委 镇委不能越级去替市委办事情,如果镇委无法解决,只能向上求...

    lylwyy2016 评论0 收藏0
  • 编程中的那些套路——关于单例模式

    该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 在设计模式中,单例模式和工厂模式)可以说是使用的最普遍的设计模式了,所以掌握此种模式尤为重要。 单例模式一般使用在资源共享和需要控制资源的情况下。 例如:购物车,回收站,数据库连接池,计数器,配置文件共享等所有项目中只需要存在一个的模块,你都可以采用单例模式。 单例模式的好处就在于当前进程只产生一个对象(或者叫...

    sshe 评论0 收藏0

发表评论

0条评论

tabalt

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<