php 设计模式之 模板



1. 模板模式

属于行为型模式

在抽象父类中定义一个模板方法的方法,通过子类的覆盖使得相同算法框架可以有不同的执行结果


2. 实列

abstract class AbstractClass {
    public function TemplateMethod() {
        $this->PrimitiveOperation1();
        $this->PrimitiveOperation2();
    }

    abstract public function PrimitiveOperation1();
    abstract public function PrimitiveOperation2();
}

class ConcreteClassA extends AbstractClass {
    public function PrimitiveOperation1() {
        echo '具体类A实现方法1', PHP_EOL;
    }
    public function PrimitiveOperation2() {
        echo '具体类A实现方法2', PHP_EOL;
    }
}

class ConcreteClassB extends AbstractClass {
    public function PrimitiveOperation1() {
        echo '具体类B实现方法1', PHP_EOL;
    }
    public function PrimitiveOperation2() {
        echo '具体类B实现方法2', PHP_EOL;
    }
}


$c = new ConcreteClassA();
$c->TemplateMethod();

$c = new ConcreteClassB();
$c->TemplateMethod();
posted @ 2020-12-31 19:59  linsonga  阅读(80)  评论(0编辑  收藏  举报