Templatemethodpattern通过将不变的行为移到超类中来去除子类中的重复代码primitiveOper1();$this->primitiveOper2();}}//具体类classConcreteextendsAbstractClass{protectedfunctionprimitiveOper1(){echo"concrete1\n";}protectedfunctionprimitiveOper2(){echo"concrete2\n";}}//clienttry{$c=newConcrete();$c->templateMethod();}catch(Exception$e){echo$e->getMessage();}
