• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

什么是策略模式?策略模式具体案列代码

来源: www.dedecms8.com 编辑:织梦吧 时间:2013-11-03点击:

 

什么是策略模式

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

策略模式具体案列代码

 <?php

abstract class Strategy

{

abstract public function AlgorithmInterface();

}

class ConcreateStratA extends Strategy

{

public function AlgorithmInterface()

{

echo "算法A";

}

}

class ConcreateStratB extends Strategy

{

public function AlgorithmInterface()

{

echo "算法B";

}

}

class ConcreateStratC extends Strategy

{

public function AlgorithmInterface()

{

echo "算法C";

}

}

class Context

{

private $_StrObj;

public function __construct($strobj)

{

$this->_StrObj = $strobj;

}

public function ContextInterface()

{

$this->_StrObj->AlgorithmInterface();

}

}

$context = new Context(new ConcreateStratA);

$context->ContextInterface();

$context = new Context(new ConcreateStratC);

$context->ContextInterface();

$context = new Context(new ConcreateStratB);

$context->ContextInterface();

?>

标签: 策略模式

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ