设计模式——模板方法模式

说明

示例

下面看下模板方法模式的代码实现

abstract class AbstractCalculator{
public final function calculate(string $exp,string $opt){
$arr = $this->split($exp,$opt);
return $this->cal($arr[0],$arr[1]);
}

abstract public function cal(int $num1, int $num2): int;

public function split(string $exp, string $opt): array{
$arr = explode($opt,$exp);
return [intval($arr[0]),intval($arr[1])];
}
}

class Plus extends AbstractCalculator{
public function cal(int $num1, int $num2): int{
return $num1 + $num2;
}
}


// 调用
$exp = '2+8';
$cal = new Plus();
$result = $cal->calculate($exp, '+');
echo $result;
// output: 10

总结


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
赏

留言

想法、疑问或勘误,都可以写在这里。留言会公开显示。

正在准备留言区…

 上一篇
设计模式——桥接模式 设计模式——桥接模式
说明 桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本
2022-05-19
下一篇 
设计模式——策略模式 设计模式——策略模式
说明 示例 下面看下策略模式的代码实现 总结
2022-05-19