模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。
<?phpabstract class AbstractClass { // 抽象模板角色 ???public function templateMethod() { // 模板方法 调用基本方法组装顶层逻辑 ???????$this->primitiveOperation1(); ???????$this->primitiveOperation2(); ???} ???abstract protected function primitiveOperation1(); // 基本方法 ???abstract protected function primitiveOperation2();}class ConcreteClass extends AbstractClass { // 具体模板角色 ???protected function primitiveOperation1() {} ???protected function primitiveOperation2(){}}$class = new ConcreteClass();$class->templateMethod();
PHP设计模式 - 模板方法模式
原文地址:https://www.cnblogs.com/taozi32/p/9226800.html