zoukankan      html  css  js  c++  java
  • 模板方法模式

    模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 T模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

    模板方法模式类结构图:

    模板方法模式类结构图

    php实现:

    <?php
    abstract class AbstractClass{
        protected abstract function step1();
        protected abstract function step2();
        public final function templateMethod(){
            $this->step1();
            $this->step2();
        }
    }
    
    class ConcreteClass1 extends AbstractClass{
        protected function step1(){
            echo "1
    ";
        }
        protected function step2(){
            echo "2
    ";
        }
    }
    
    class ConcreteClass2 extends AbstractClass{
        protected function step1(){
            echo "one
    ";
        }
        protected function step2(){
            echo "two
    ";
        }
    }
    
    class Client{
        public static function run(){
            $class1 = new ConcreteClass1();
            $class2 = new ConcreteClass2();
            $class1->templateMethod();
            $class2->templateMethod();
        }
    }
    
    Client::run();
    ~                 
    

      

  • 相关阅读:
    浅谈Semaphore类
    Python浅谈requests三方库
    191104
    191103
    191102
    191101
    191031
    191030
    191029
    191028
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4238654.html
Copyright © 2011-2022 走看看