喜迎
春节

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


说明

示例

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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 !
评 论
 上一篇
设计模式——适配器模式
设计模式——适配器模式
说明 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 分类类的适配器模式 核心思想就是:有一个Source类,
2022-05-19
下一篇 
Redis笔记
Redis笔记
安装redis客户端yum install redis 查看版本号info 通过命令行方式连接redisredis-cli -h host -p port -a passwordhost:远程redis服务器hostport:远程redis
2022-05-19
  目录
hexo