首页 > 学院 > 开发设计 > 正文

模板方法模式

2019-11-08 02:41:51
字体:
来源:转载
供稿:网友

模板方法模式:

模板方法模式定义了一个算法的步骤, 并允许子类为一个或多个步骤提供实现。模板方法模式:在一个方法中定义一个

算法的骨架, 而将一些步骤延迟到子类中, 模板方法使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。

<?php// 模板方法模式function echoLine($msg) {	echo $msg, '<br/>';}abstract class TemplateBase{	abstract function step1();	abstract function step2();	abstract function step3();		public function doAction() {		$this->step1();		if(!$this->skipStep2()) {			$this->step2();		}		$this->step3();	}		/**	 * 钩子方法	 */	public function skipStep2() {		return false;	}}class ConcreteTemplate extends TemplateBase{	public function step1() {		echoLine('This is step 1');	}		public function step2() {		echoLine('This is step 2');	}		public function step3() {		echoLine('This is step 3');	}		// 用来控制是否跳过某些步骤	public function skipStep2() {		return false;	}}// test code$ct = new ConcreteTemplate();$ct->doAction();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表