1. 首页
  2. 文档大全

精通php设计模式各个击破案例测试源码

上传者:小*** 2022-06-27 09:30:35上传 DOCX文件 54.76KB
精通php设计模式各个击破案例测试源码_第1页 精通php设计模式各个击破案例测试源码_第2页 精通php设计模式各个击破案例测试源码_第3页

《精通php设计模式各个击破案例测试源码》由会员分享,可在线阅读,更多相关《精通php设计模式各个击破案例测试源码(124页珍藏版)》请在文档大全上搜索。

1、精通php设计模式各个击破案例测试源码设计模式 对应特点【原】 PHP 设计模式二十三之解释器设计模式 迷你新语言【原】 PHP 设计模式二十二之迭代子设计模式 循环【原】 PHP 设计模式二十一之访问者设计模式 数据处理与数据结构分离【原】 PHP 设计模式二十之模板设计模式 规范执行骨架【原】 PHP 设计模式十九之享元设计模式 共享细微粒,减少开销【原】 PHP 设计模式十八之备忘录设计模式 存档【原】 PHP 设计模式十七之外观设计模式 统一接口,方便组合【原】 PHP 设计模式十六之状态设计模式 有序开关状态,【原】 PHP 设计模式十五之中介者设计模式 中介【原】 PHP 设计模式

2、十四之职责链设计模式 传递命令【原】 PHP 设计模式十三之命令设计模式 命令集中处理,命令看成对象【原】 PHP 设计模式十二之组合设计模式 整体与部分一致【原】 PHP 设计模式十一之桥接设计模式 抽象与现实分离【原】 PHP 设计模式十之建造者设计模式 构建和表示分离【原】 PHP 设计模式九之单例设计模式唯一实例【原】 PHP 设计模式八之观察者设计模式 数组 1对多通知【原】 PHP 设计模式七之原型设计模式克隆【原】 PHP 设计模式六之代理设计模式代理处理 【原】 PHP 设计模式五之工厂方法设计模式 批量实例,抽象【原】 PHP 设计模式四之适配器设计模式 不同接口【原】 PH

3、P 设计模式三之策略设计模式算法【原】 PHP 设计模式二之修饰器模式包裹原数据【原】 PHP 设计模式一之简单工厂模式 批量实例PHP 设计模式一之(简单)工厂模式边学习理论边实践才是真!工厂模式: 简单工厂模式 工厂方法模式 抽象工厂模式后面我会一一写出,并分析他们区别,优缺下面是学习后模拟写的代码<?php/* * 计算器 OOP开发 练习 简单的工厂模式 * 目前运算符号暂定为:加减乘除,以后会扩展平方等 * 定义:经过一定的逻辑,需要实例对应的对象对象可以完全不同,经常配合策略模式使用这里的对象有相似性 * author Chen Wei Han <csq-3> *

4、 copyright Copyright &copy; 2011 Chen Wei Han * version $Id: Calculator.php 1 2011-05-31 * since 1.0 * package OOP * example * */* * 运算符抽象类 * * author Chen Wei Han <csq-3> * package OOP */abstract class Abstract_Operation /* * 定义私有变量 * * var $numa */ private $numa; /* * 定义私有变量 * * var $num

5、b */ private $numb; public function Getnuma() return $this->numa; public function Setnuma($num) $this->numa=$num; public function Getnumb() return $this->numb; public function Setnumb($num) $this->numb=$num; /* * 抽象方法GetResult 返回结果 */ abstract protected function GetResult();/* * 加法子类 * *

6、 author Chen Wei Han <csq-3> * package OOP */class OperationAdd extends Abstract_Operation public function GetResult() $result = $this->Getnuma() + $this->Getnumb(); return $result; /* * 减法子类 * * author Chen Wei Han <csq-3> * package OOP */class OperationSub extends Abstract_Operat

7、ion public function GetResult() $result = $this->Getnuma() - $this->Getnumb(); return $result; /* * 乘法子类 * * author Chen Wei Han <csq-3> * package OOP */class OperationMul extends Abstract_Operation public function GetResult() $result = $this->Getnuma() * $this->Getnumb(); return $

8、result; /* * 除法子类 * * author Chen Wei Han <csq-3> * package OOP */class OperationDiv extends Abstract_Operation public function GetResult() $result = $this->Getnuma() / $this->Getnumb(); return $result; /* * 运算符工厂类 * * author Chen Wei Han <csq-3> * package OOP */class OperationFact

9、ory /* * 构建运算符对象方法 * * param $operation * return class $oper */ public static function GreateOperation($operation) switch ($operation) case 1: $oper = new OperationAdd(); break; case 2: $oper = new OperationSub(); break; case 3: $oper = new OperationMul(); break; case 4: $oper = new OperationDiv();

10、break; default: echo "err!" die(); break; return $oper; /* * 运算主函数 * * param int $firstnum * param int $secondnum * param int $operation * return int $oper->GetResult(); * package OOP */function Calculate($firstnum,$secondnum,$operation) /静态调用 $oper = OperationFactory:GreateOperation($o

11、peration); $oper->Setnuma($firstnum); $oper->Setnumb($secondnum); $oper->GetResult(); return $oper->GetResult();/* * 获取参数 */$firstnum = intval($_POST'firstnum');$secondnum = intval($_POST'secondnum');$operation = trim($_POST'operation'); echo "计算结果:".Cal


文档来源:https://www.renrendoc.com/paper/212644695.html

文档标签:

下载地址