模板模式

/**
* 模板模式
*
* 定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改
变一个算法的结构可以定义该算法的某些特定步骤
*
*/
    abstract class TemplateBase
    {
        public function Method1()
        {
            echo"abstract Method1
"; } public function Method2() { echo"abstract Method2
"; } public function Method3() { echo"abstract Method3
"; } public function doSomeThing() { $this->Method1(); $this->Method2(); $this->Method3(); } } class TemplateObject extends TemplateBase { } class TemplateObject1 extends TemplateBase { public function Method3() { echo"TemplateObject1 Method3
"; } } class TemplateObject2 extends TemplateBase { public function Method2() { echo "TemplateObject2 Method2
"; } } // 实例化 $objTemplate = new TemplateObject(); $objTemplate1 = new TemplateObject1(); $objTemplate2 = new TemplateObject2(); $objTemplate->doSomeThing(); $objTemplate1->doSomeThing(); $objTemplate2->doSomeThing();

参考文章 https://wenku.baidu.com/view/b4c78b4702768e9951e738fb.html

你可能感兴趣的:(模板模式)