PHP设计模式系列(四):工厂方法模式
来源:互联网 发布:广东省教育网络平台 编辑:程序博客网 时间:2024/05/17 02:29
工厂方法模式
工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。
模式结构
工厂方法模式包含如下角色:
- Product:抽象产品
- ConcreteProduct:具体产品
- Factory:抽象工厂
- ConcreteFactory:具体工厂
结构图
PHP代码实现
<?php//抽象产品abstract class Operation{ private $numA,$numB; public function __set($name,$value){ $this->$name=$value; } public function __get($name){ return $this->$name; } abstract public function getResult();}//具体产品class OperateAdd extends Operation{ public function getResult(){ $result=$this->numA+$this->numB; return $result; }}class OperateSub extends Operation{ public function getResult(){ $result=$this->numA-$this->numB; return $result; }}//抽象工厂interface Factory{ public function createOperation();}//具体工厂class AddFactory implements Factory{ public function createOperation() { return new OperateAdd(); }}class SubFactory implements Factory{ public function createOperation() { return new OperateSub(); }}$a=new AddFactory();$b=$a->createOperation();$b->numA=1;$b->numB=5;$c=$b->getResult();var_dump($c);
运行结果
int 6
0 0
- PHP设计模式系列(四):工厂方法模式
- php设计模式学习系列(四)--抽象工厂模式
- 设计模式(四) ---- 工厂方法模式
- 设计模式(四)工厂模式-工厂方法模式
- php 设计模式(工厂方法模式)
- PHP设计模式-工厂系列(二)-工厂方法模式
- PHP设计模式-工厂系列(二)-工厂方法模式
- 【设计模式系列】--工厂方法
- PHP设计模式系列 - 工厂模式
- PHP设计模式系列 - 工厂模式
- PHP设计模式系列 - 工厂模式
- PHP设计模式系列 - 工厂模式
- PHP设计模式系列:简单工厂模式
- 设计模式系列(七)简单工厂模式、工厂方法模式和抽象工厂模式对比
- PHP设计模式-工厂系列(一)-简单工厂模式(静态工厂模式)
- PHP设计模式-工厂系列(一)-简单工厂模式(静态工厂模式)
- php设计模式学习系列(三)工厂模式
- PHP设计模式系列(十):抽象工厂模式
- linux中umask系统变量
- bzoj1412: [ZJOI2009]狼和羊的故事
- Windows10 Spark单机开发环境的搭建(Python)
- 《APUE》读书笔记-第十六章网络IPC:套接字
- C中的volatile用法
- PHP设计模式系列(四):工厂方法模式
- Fibonacci (POJ
- C/C++实习面试(一)
- 数组9:数字在排序数组中出现的次数
- Activty跳转及进度系列控件
- 数组10:数组中只出现一次的数字
- vlc-for-android
- python绘制树和森林
- Linux命令学习笔记(一)