php实现设计模式之 解释器模式
2014-11-12 13:56
751 查看
<?php /* * 解释器模式:给定一种语言,定义它文法的一种表示,并定义一个解释器,该解释器利用该表示来解释语言中的句子 * */ class Expression { function interpreter($str) { return $str; } } class ExpressionNum extends Expression { function interpreter($str) { switch($str) { case "0": return "零"; case "1": return "一"; case "2": return "二"; case "3": return "三"; case "4": return "四"; case "5": return "五"; case "6": return "六"; case "7": return "七"; case "8": return "八"; case "9": return "九"; } } } class ExpressionCharater extends Expression { function interpreter($str) { return strtoupper($str); } } class Interpreter { function execute($string) { $expression = null; for($i = 0;$i<strlen($string);$i++) { $temp = $string[$i]; switch(true) { case is_numeric($temp): $expression = new ExpressionNum(); break; default: $expression = new ExpressionCharater(); } echo $expression->interpreter($temp); } } } $obj = new Interpreter(); $obj->execute("sdf12345abc"); ?>
UML 类图如下:
相关文章推荐
- php设计模式 Interpreter(解释器模式)
- [php]php设计模式 Interpreter(解释器模式)
- PHP设计模式漫谈之解释器模式
- 我所理解的设计模式(C++实现)——解释器模式(Interpreter Pattern)
- PHP设计模式笔记:使用PHP实现工厂模式
- [设计模式]head first 设计模式之PHP实现 第二章 观察者模式
- PHP 设计模式之观察者模式实现
- 我所理解的设计模式(C++实现)——解释器模式(Interpreter Pattern)
- PHP设计模式笔记:使用PHP实现桥梁模式
- PHP设计模式漫谈之解释器模式
- 学习php设计模式 php实现策略模式(strategy)
- PHP设计模式之观察者模式实现DEMO
- 设计模式-PHP实现单件模式的几种方式
- PHP设计模式笔记:使用PHP实现单例模式
- PHP设计模式笔记:使用PHP实现门面模式
- 设计模式-PHP实现单件模式的几种方式
- [设计模式]head first 设计模式之PHP实现 第一章
- [设计模式]head first 设计模式之PHP实现 第一章 练习题代码
- PHP设计模式之解释器模式的深入解析
- PHP设计模式之解释器模式的深入解析