码迷,mamicode.com
首页 > Web开发 > 详细

PHP设计模式-策略模式

时间:2017-06-13 23:57:57      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:上下文环境   struct   env   ons   protected   模式   上下   obj   特定   

<?php
//策略模式
//将一组特定的算法或行为 封装成一个类,以适应上下文环境

//策略的接口文件 约定策略的行为 针对一种情况 产生具体的策略
interface Policy
{
function showAd();
}


class Female implements Policy
{
public function showAd()
{
echo __CLASS__.‘ policy‘;

}
}

class Male implements Policy
{
public function showAd()
{
echo __CLASS__.‘ policy‘;
}
}

//环境类 将具体的算法分离开
class Env
{
protected $obj=null;

public function __construct(Policy $obj)
{
$this->obj=$obj;
}

public function doSomeThing()
{
$this->obj->showAd();
}
}


$a = new Env(new Male());
$a->doSomeThing();

PHP设计模式-策略模式

标签:上下文环境   struct   env   ons   protected   模式   上下   obj   特定   

原文地址:http://www.cnblogs.com/mingqinz/p/7003824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!