程序就是思想 之 模板方法模式

版权声明:话不在多,在于精 https://blog.csdn.net/qq_29857681/article/details/88415599

模板方法模式

核心:父类控制流程,子类控制实现

abstract class AbstractWedding
{
  // 定义婚礼顺序
  public function templateMethod()
  {
    $this->appendGame();
    $this->appendMarriage();
  }
  // 婚礼的流程行为需要实现的
  abstract protected function appendGame();
  abstract protected function appendMarriage();
}
// 子类的婚礼进行实现
class Wedding1 extends AbstractWedding
{
  protected function appendGame()
  {
    // 找鞋,喝酒
  }
  protected function appendMarriage()
  {
    //  教堂宣誓
  }
}
class Wedding2 extends AbstractWedding
{
  protected function appendGame()
  {
    // 发红包
  }
  protected function appendMarriage()
  {
    // 亲吻新娘
  }
}
// 客户
class Client
{
  public function __construct()
  {
    $wedding = new Wedding1();
    $wedding->templateMethod();
  }
}

猜你喜欢

转载自blog.csdn.net/qq_29857681/article/details/88415599