php设计模式--策略模式
admin
2023-06-25 00:01:06
0

策略模式:

    策略模式我们无法通过字面意思来理解了:

        首先,创建一个接口,定义子类的实现规范;

        第二步,根据不同的业务逻辑,书写不同的方法,同时实现第一步中的接口.

        第三步,写一个独立的类,其中有两个方法,第一个为初始化(传入第二步中的子类的对象),第二个方法   为统一的执行类(当然有了接口这个也可以省略了).

如下图:

php设计模式--策略模式

下面是一个完整的demo:

    

//通过接口定义子类实现规范

interface Strategy{  

public function echoInfo();

}


//实现方法,并且每个都用不同的业务逻辑(phper,javaer)

class Phper implements Strategy{        

public function echoInfo()

{

echo "this is phper class";

}

}

class Javaer implements Strategy{

public function echoInfo()

{

echo "this is javaser class";

}

}


//建立一个独立的类,通过其中的一个方法,传入不同的对象来实现不同的处理过程

class Done{

//用来存储实例化的对象

private $obj;

//通过传入对象将对象赋给私有属性

public function __construct(Strategy $obj)

{

$this->obj=$obj;

}


//通过统一的实现方法来实现不同的对象内部的方法(因为有接口的限制,这个也可以省略)

public function go()

{

$this->obj->echoInfo();

}

}


//实例化独立的类,传入不同的对象参数

$obj=new Done(new Javaer);

//输出结果

$obj->go();

 ?>


策略模式一般用在一些输出结果需要多样话的地方,比如客户可能导出excel表,也可能导出word文件,或者生成一个柱状图等等.

相关内容

热门资讯

AI牵手能源,会擦出怎样的火花... (来源:中国电力新闻网) 转自:中国电力新闻网 AI牵手能源,会擦出怎样的火花? ——国家能源集团“...
时政微观察丨创新之道 唯在得人 5月25日,中国航天太空“全家福”再上新——神舟二十三号航天员乘组顺利进驻“天宫”,与神舟二十一号航...
机器人“亮绝活”!2026世界... 5月28日至31日,以“智行天下 能动未来”为主题的2026世界智能产业博览会(以下简称智博会)在国...
人走断电技术**能源浪费难题—... 一、行业背景:用电管理的三大**痛点 在办公楼宇、建筑工地、学校宿舍等公共用电场景中,能源浪费与安全...
特朗普:伊朗浓缩铀材料将被挖出... △白宫(资料图)当地时间5月29日,美国总统特朗普说,伊朗浓缩铀材料将由美国与伊朗以及国际原子能机构...
视频丨《城市更新“十五五”规划... 国务院日前印发了《城市更新“十五五”规划》,明确了“十五五”时期城市更新工作的目标指标、重点任务、重...
加推再现争抢!通派龙湖·御潮云... 2026年郑州楼市,如果要选出一个现象级红盘,通派龙湖·御潮云上必定首屈一指!自2月首开劲销2.8亿...
神舟二十一航天员张洪章出舱,谈... 据凤凰卫视报道,北京时间2026年5月29日20时11分,神舟二十一号航天员乘组搭乘神舟二十二号载人...
神二十一航天员张陆出舱,从太空... 据凤凰卫视报道,神舟二十一号航天员乘组5月29日乘坐神舟二十二號载人飞船返回地球。北京时间20时11...
5月30日、31日晚8点来京东... 又好又便宜的京东618将于5月30日晚8点正式开启,全品类现货开卖。5月30日、31日每晚8点,消费...