模板方法模式:
模板方法模式定义了一个算法的步骤, 并允许子类为一个或多个步骤提供实现。模板方法模式:在一个方法中定义一个
算法的骨架, 而将一些步骤延迟到子类中, 模板方法使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。
<?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() { echoLin<strong>)本文来(源gaodai#ma#com搞@@代~&码*网2</strong><pre>搞代gaodaima码
e('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();
以上就是PHP模板方法模式的实例代码分享的详细内容,更多请关注搞代码gaodaima其它相关文章!