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

php实现设计模式之 模板方法模式

时间:2014-10-27 19:13:19      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   div   on   log   cti   bs   

<?php
/**
 * 模板模式
 *
 * 定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可以定义该算法的某些特定步骤
 *
 */
abstract class TemplateBase
{
	public function Method1()
	{
		echo "abstract Method <br/>";
	}

	public function Method2()
	{
		echo "abstract Method2<br/>";
	}

	public function Method3()
	{
		echo "abstract Method3<br/>";
	}

	public function doSomeThing()//骨架,上面三个是步骤,可以在子类中延迟实现
	{
		$this->Method1();
		$this->Method2();
		$this->Method3();
	}
}

class TemplateObject extends TemplateBase
{
}

class TemplateObject1 extends TemplateBase
{
	public function Method3()
	{
		echo "TemplateObject1 Method3<br/>";
	}
}

class TemplateObject2 extends TemplateBase
{
	public function Method2()
	{
		echo "TemplateObject2 Method2<br/>";
	}
}

// 实例化
$objTemplate = new TemplateObject();
$objTemplate1 = new TemplateObject1();
$objTemplate2 = new TemplateObject2();

$objTemplate->doSomeThing();
echo ‘<br />‘;
$objTemplate1->doSomeThing();
echo ‘<br />‘;
$objTemplate2->doSomeThing();
?>

  UML类图如下:

bubuko.com,布布扣

php实现设计模式之 模板方法模式

标签:blog   http   io   os   div   on   log   cti   bs   

原文地址:http://www.cnblogs.com/taijun/p/4054712.html

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