PHP設計模式 - 模板方法模式
阿新 • • 發佈:2018-06-26
角色 模板 bstr per eth method php設計模式 public pre
模板模式準備一個抽象類,將部分邏輯以具體方法以及具體構造形式實現,然後聲明一些抽象方法來迫使子類實現剩余的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩余的邏輯有不同的實現。先制定一個頂級邏輯框架,而將邏輯的細節留給具體的子類去實現。
<?php abstract 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設計模式 - 模板方法模式