Modèle de méthode modèle :
Le modèle de méthode modèle définit les étapes d'un algorithme et permet aux sous-classes de fournir des implémentations pour une ou plusieurs étapes. Modèle de méthode modèle : définissez le squelette d'un algorithme
dans une méthode et reportez certaines étapes aux sous-classes. La méthode modèle permet aux sous-classes d'utiliser l'algorithme sans modifier la structure de l'algorithme. Redéfinir certaines étapes de l'algorithme.
<?php // 模板方法模式 function echoLine($msg) { echo $msg, '<br/>'; } abstract class TemplateBase { abstract function step1(); abstract function step2(); abstract function step3(); public function doAction() { $this->step1(); if(!$this->skipStep2()) { $this->step2(); } $this->step3(); } /** * 钩子方法 */ public function skipStep2() { return false; } } class ConcreteTemplate extends TemplateBase { public function step1() { echoLine('This is step 1'); } public function step2() { echoLine('This is step 2'); } public function step3() { echoLine('This is step 3'); } // 用来控制是否跳过某些步骤 public function skipStep2() { return false; } } // test code $ct = new ConcreteTemplate(); $ct->doAction();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!