首页 > 代码库 > php设计模式之 简单工厂模式
php设计模式之 简单工厂模式
作为对象的创建模式,用工厂方法代替new操作。
简单工厂模式是属于创建型模式,又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
<?php/* * 工厂类,里面包含工厂方法,代替new操作,由参数决定创建哪一种对象 */class operator{ public $a,$b,$oper; public function __construct($a,$b,$oper){ $this->a = $a; $this->b = $b; $this->oper = $oper; } public function getresult(){ switch ($this->oper){ case 1: $model = new add($this->a,$this->b);break; case 2: $model = new jian($this->a,$this->b);break; case 3: $model = new cheng($this->a,$this->b);break; case 4: $model = new chu($this->a,$this->b);break; } return $model->result(); }}/* * 抽象类,其子类必须实现运算方法 */abstract class poper{ public $a,$b; public function __construct($a,$b){ $this->a =$a; $this->b = $b; } abstract function result();}//子类,负责具体业务实现class add extends poper{ public function result(){ return $this->a+$this->b; }}class jian extends poper{ public function result(){ return $this->a-$this->b; }}class cheng extends poper{ public function result(){ return $this->a*$this->b; }}class chu extends poper{ public function result(){ if($this->b ==0){ return ‘除数不能为0‘; } return $this->a/$this->b; }}?>
php设计模式之 简单工厂模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。