你的位置:首页 > ASP.net教程

[ASP.net教程]【简单的工厂模式】一个简单的计算器


对于一个对设计模式一无所知的程序员来说,维护成本,无疑是一个致命的问题,所以从今开始,我要开始努力学习,设计模式,在这里,记录自己的学习成果

生产类

  1. abstract class Oper 抽象类
  2. class Add 加
  3. class Sub 减
  4. class Mul 乘
  5. class Div 除
  6. class Operate 计算

 

abstract class Oper {  public $num1 = 0;  public $num2 = 0;  abstract public function getResult();}

class Add extends Oper {  public function getResult(){    $result = $this->num1 +$this->num2;    return $result;  }}

class Div extends Oper {  public function getResult(){    if($this->num2==0){      throw_exception('分母不能为零');    }    $result = $this->num1 /$this->num2;    return $result;  }}

 

class Operate {  public function oper($operate){    switch ($operate){      case '+':        return new Add();        break;      case '-':        return new Sub();        break;      case '*':        return new Mul();        break;      case '/':        return new Div();        break;      default:        throw_exception('符号不支持');        break;    }  }}