首页 > Web开发 > 详细

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

时间:2014-10-27 19:10:58      阅读:285      评论:0      收藏:0      [点我收藏+]
<?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实现设计模式之 模板方法模式

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!