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

PHP设计模式之策略模式

时间:2017-02-10 17:59:59      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:method   init   logs   blog   相互   div   echo   方法   highlight   

<?php
//策略模式定义:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。

/**
 * 定义策略接口
 */
interface StrategyInterface{
	//强制策略类实现的方法
	public function method();
}
/**
 * 抽象策略类
 */
abstract class Strategy implements StrategyInterface{
	//强制策略子类实现该方法
	abstract public function method();

	public function init(){
		echo "我是公共方法".PHP_EOL;
	}
}

class Strategy1 extends Strategy{
	//实现接口方法
	public function method(){
		echo "我是策略方法1".PHP_EOL;
	}
}

class Strategy2 extends Strategy{
	//实现接口方法
	public function method(){
		echo "我是策略方法2".PHP_EOL;
	}
}
/**
 * 客户端类
 */
class Client{
	public function getMethod(Strategy $Strategy){
		$Strategy->method();
	}
}

$obj = new Client();
$obj -> getMethod(new Strategy1());
$obj -> getMethod(new Strategy2());

  

PHP设计模式之策略模式

标签:method   init   logs   blog   相互   div   echo   方法   highlight   

原文地址:http://www.cnblogs.com/feiyujinghong/p/6386809.html

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